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

void do_ssh2_transport(Ssh_conflict ssh,void *vin,int inlen,Packet *pktin)

{
  uchar uVar1;
  int *piVar2;
  int iVar3;
  ssh2_cipher *psVar4;
  ssh_mac *psVar5;
  ssh_compress *psVar6;
  int iVar7;
  int iVar8;
  Bignum pvVar9;
  Bignum_conflict pBVar10;
  undefined4 uVar11;
  undefined1 *puVar12;
  void *pvVar13;
  uint uVar14;
  int iVar15;
  ssh_hash *psVar16;
  ssh_signkey *psVar17;
  Ssh_conflict ssh_00;
  Socket ppsVar18;
  ssh_kex *psVar19;
  int *piVar20;
  ulong uVar21;
  int iVar22;
  int iVar23;
  char *pcVar24;
  uchar *puVar25;
  Packet *pPVar26;
  int *piVar27;
  uint uVar28;
  uint bitnum;
  ssh_signkey *psVar29;
  undefined4 *puVar30;
  Ssh_conflict psVar31;
  int iVar32;
  int iVar33;
  int in_t9;
  _func_void_ptr *p_Var34;
  _func_void_ptr_void_ptr *p_Var35;
  _func_void_void_ptr_void_ptr_int *p_Var36;
  code *pcVar37;
  code *pcVar38;
  int iVar39;
  int *piVar40;
  int iStack_80;
  uint uStack_74;
  uint uStack_6c;
  int *piStack_68;
  char *str;
  int len;
  char *kexlist_descr [8];
  uchar x [4];
  
  piVar2 = *(int **)(in_t9 + 0x70118);
  iVar15 = *(int *)(in_t9 + 0x6f5bc);
  kexlist_descr[2] = (char *)(iVar15 + 0x58b0);
  iVar22 = *(int *)(in_t9 + 0x6f5bc);
  kexlist_descr[3] = (char *)(iVar22 + 0x58c8);
  iVar23 = *piVar2;
  piVar27 = (int *)ssh->do_ssh2_transport_state;
  kexlist_descr[0] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5884);
  kexlist_descr[1] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x589c);
  kexlist_descr[4] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58e0);
  kexlist_descr[5] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58f8);
  kexlist_descr[6] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5910);
  kexlist_descr[7] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5934);
  ssh_00 = (Ssh_conflict)kexlist_descr[2];
  pPVar26 = pktin;
  if (piVar27 == (int *)0x0) {
    ssh_00 = (Ssh_conflict)&DAT_00000001;
    piVar27 = (int *)(**(code **)(in_t9 + 0x6f61c))(1,0x74c);
    ssh->do_ssh2_transport_state = piVar27;
    *piVar27 = 0;
  }
  if (ssh->bare_connection != 0) {
    (**(code **)(in_t9 + 0x6ff40))
              (*(int *)(in_t9 + 0x6f5bc) + 0x5958,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18f9,
               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);
    return;
  }
  if (ssh->version != 2) {
    (**(code **)(in_t9 + 0x6ff40))
              (*(int *)(in_t9 + 0x6f5bc) + 0x4af0,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18fa,
               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);
    return;
  }
  iVar3 = *piVar27;
  if (iVar3 == 0x1b73) {
    if (pktin == (Packet *)0x0) {
      *piVar27 = 0x1b73;
      goto LAB_00042f18;
    }
    if (pktin->type == 0x1f) {
      pvVar9 = ssh2_pkt_getmp(pktin);
      piVar27[7] = (int)pvVar9;
      pvVar9 = ssh2_pkt_getmp(pktin);
      piVar27[8] = (int)pvVar9;
      if (((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)) {
        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);
        ssh->kex_ctx = pvVar13;
        piVar27[0xe] = 0x20;
        piVar27[0xf] = 0x21;
        goto LAB_00043d90;
      }
      pcVar37 = *(code **)(in_t9 + 0x6f618);
      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44);
    }
    else {
      pcVar37 = *(code **)(in_t9 + 0x6f618);
      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);
    }
    goto LAB_0004361c;
  }
  if (iVar3 < 0x1b74) {
    if (iVar3 == 0x1aff) {
      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);
      if (pktin != (Packet *)0x0) {
LAB_00043614:
        pcVar37 = *(code **)(in_t9 + 0x6f618);
        piVar20 = &ssh_00[0xd].banner.buffersize;
        goto LAB_0004361c;
      }
      if (0 < inlen) {
LAB_00043d00:
        *piVar27 = 0x1aff;
        goto LAB_00042f18;
      }
      piVar27[0x50] = ssh->user_response;
FUN_00044370:
      ssh_00 = (Ssh_conflict)ssh->s;
      if (ssh_00 != (Ssh_conflict)0x0) {
        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);
      }
      ssh->frozen = 0;
      if (piVar27[0x50] == 0) {
        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);
        goto LAB_00045800;
      }
LAB_000443a0:
      if (piVar27[5] == 0) {
LAB_00043510:
        if (piVar27[6] != 0) {
          ppsVar18 = ssh->s;
          if (ppsVar18 != (Socket)0x0) {
            (*(*ppsVar18)->set_frozen)(ppsVar18,1);
          }
          pcVar37 = *(code **)(in_t9 + 0x6fb88);
          inlen = *(int *)(piVar27[0x13] + 0x20);
          ssh_00 = (Ssh_conflict)ssh->frontend;
          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);
          ssh->frozen = 1;
          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);
          piVar27[0x50] = iVar15;
          if (iVar15 < 0) goto LAB_000454a0;
          goto LAB_00043578;
        }
        goto LAB_000435a8;
      }
      ppsVar18 = ssh->s;
      if (ppsVar18 != (Socket)0x0) {
        (*(*ppsVar18)->set_frozen)(ppsVar18,1);
      }
      pcVar37 = *(code **)(in_t9 + 0x6fb88);
      inlen = *(int *)(piVar27[0x12] + 0x20);
      ssh_00 = (Ssh_conflict)ssh->frontend;
      pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);
      ssh->frozen = 1;
      iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh);
      piVar27[0x50] = iVar15;
      if (iVar15 < 0) goto LAB_0004440c;
LAB_000434e0:
      ssh_00 = (Ssh_conflict)ssh->s;
      if (ssh_00 != (Ssh_conflict)0x0) {
        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);
      }
      ssh->frozen = 0;
      if (piVar27[0x50] != 0) goto LAB_00043510;
LAB_000457e8:
      pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);
      goto LAB_00045800;
    }
    if (0x1aff < iVar3) {
      if (iVar3 == 0x1b31) {
        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);
        if (pktin != (Packet *)0x0) goto LAB_00043614;
        if (0 < inlen) {
LAB_000454a0:
          *piVar27 = 0x1b31;
          goto LAB_00042f18;
        }
        piVar27[0x50] = ssh->user_response;
LAB_00043578:
        ssh_00 = (Ssh_conflict)ssh->s;
        if (ssh_00 != (Ssh_conflict)0x0) {
          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);
        }
        ssh->frozen = 0;
        if (piVar27[0x50] == 0) goto LAB_000457e8;
LAB_000435a8:
        if (piVar27[0x52] == 0) goto LAB_00044234;
      }
      else {
        if (iVar3 != 0x1b43) {
          if (iVar3 != 0x1b18) goto LAB_00042f14;
          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);
          if (pktin != (Packet *)0x0) goto LAB_00043614;
          if (inlen < 1) {
            piVar27[0x50] = ssh->user_response;
            goto LAB_000434e0;
          }
LAB_0004440c:
          *piVar27 = 0x1b18;
          goto LAB_00042f18;
        }
        if (pktin != (Packet *)0x0) {
LAB_00044234:
          psVar19 = ssh->kex;
          if (psVar19->main_type == ADDRTYPE_UNSPEC) {
            iVar15 = 0;
            if (piVar27[0x12] != 0) {
              iVar15 = *(int *)(piVar27[0x12] + 0x28);
            }
            iStack_80 = 0;
            if (piVar27[0x13] != 0) {
              iStack_80 = *(int *)(piVar27[0x13] + 0x28);
            }
            if (iStack_80 <= iVar15) {
              iStack_80 = iVar15;
            }
            iVar15 = psVar19->hash->hlen << 3;
            if (iVar15 < iStack_80) {
              iStack_80 = iVar15;
            }
            piVar27[1] = iStack_80;
            iVar15 = dh_is_gex(psVar19);
            if (iVar15 != 0) {
              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))
                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);
              iVar22 = piVar27[1];
              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;
              iVar15 = iVar22 + -1;
              if (iVar15 < 0) {
                iVar15 = iVar22 + 0x3e;
              }
              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);
              if (iVar15 < 0x400) {
                piVar27[2] = 0x400;
              }
              else {
                if (0x2000 < iVar15) {
                  iVar15 = 0x2000;
                }
                piVar27[2] = iVar15;
              }
              if ((ssh->remote_bugs & 0x1000U) == 0) {
                pPVar26 = ssh2_pkt_init(0x22);
                piVar27[0x4f] = (int)pPVar26;
                x[0] = '\0';
                x[1] = '\0';
                x[2] = '\x04';
                x[3] = '\0';
                    /* WARNING: Subroutine does not return */
                ssh_pkt_adddata(pPVar26,x,4);
              }
              pPVar26 = ssh2_pkt_init(0x1e);
                    /* WARNING: Subroutine does not return */
              piVar27[0x4f] = (int)pPVar26;
              ssh_pkt_adduint32(pPVar26,piVar27[2]);
            }
            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;
            pvVar13 = dh_setup_group(ssh->kex);
            psVar19 = ssh->kex;
            ssh->kex_ctx = pvVar13;
            piVar27[0xe] = 0x1e;
            iVar15 = *(int *)(in_t9 + 0x6f5bc);
            pcVar24 = psVar19->groupname;
            piVar27[0xf] = 0x1f;
            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);
LAB_00043d90:
            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);
            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);
            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);
            piVar27[9] = (int)pvVar9;
            pPVar26 = ssh2_pkt_init(piVar27[0xe]);
            piVar27[0x4f] = (int)pPVar26;
            ssh2_mpint_fmt((Bignum)piVar27[9],&len);
            x[0] = '\0';
            x[1] = '\0';
            x[2] = '\0';
            x[3] = '\0';
                    /* WARNING: Subroutine does not return */
            ssh_pkt_adddata(pPVar26,x,4);
          }
          if (psVar19->main_type != ADDRTYPE_IPV6) {
            ssh_00 = ssh;
            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);
            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;
            goto LAB_000451dc;
          }
          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();
          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,
                    ssh->kex->hash->text_name);
          pcVar37 = *(code **)(in_t9 + 0x6fbd8);
          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;
          iVar15 = (*pcVar37)(ssh->kex);
          piVar27[0x24] = iVar15;
          if (iVar15 == 0) {
            pcVar37 = *(code **)(in_t9 + 0x6f618);
            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);
          }
          else {
            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);
            if (iVar15 != 0) {
              pPVar26 = ssh2_pkt_init(0x1e);
              piVar27[0x4f] = (int)pPVar26;
              x[0] = '\0';
              x[1] = '\0';
              x[2] = '\0';
              x[3] = '\0';
                    /* WARNING: Subroutine does not return */
              ssh_pkt_adddata(pPVar26,x,4);
            }
            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);
            pcVar37 = *(code **)(in_t9 + 0x6f618);
            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);
          }
          goto LAB_0004361c;
        }
      }
      *piVar27 = 0x1b43;
      goto LAB_00042f18;
    }
    if (iVar3 == 0x1a26) {
      if (pktin == (Packet *)0x0) {
        *piVar27 = 0x1a26;
        goto LAB_00042f18;
      }
      if (pktin->type == 0x14) {
        uStack_6c = 0xfffffffa;
        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);
        iVar39 = *(int *)(in_t9 + 0x6f5ac);
        iVar3 = pktin->savedpos;
        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);
        ssh->kex = (ssh_kex *)0x0;
        iVar32 = *(int *)(random_ref + in_t9);
        ssh->hostkey = (ssh_signkey *)0x0;
        uStack_74 = 0;
        piVar27[0x12] = 0;
        piVar27[0x13] = 0;
        piVar27[0x14] = 0;
        piVar27[0x15] = 0;
        piVar27[0x18] = 0;
        piVar27[0x19] = 0;
        piVar27[4] = 0;
        piVar27[3] = 0;
        piVar27[6] = 0;
        piVar27[5] = 0;
        pktin->savedpos = iVar3 + 0x10;
        piVar27[0x51] = 0;
        piStack_68 = piVar27;
        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {
          if (uStack_74 == 4) {
            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {
LAB_00043b30:
              iVar33 = 0;
              piVar20 = piStack_68;
LAB_00043b44:
              iVar8 = piVar20[0x53];
              if (iVar8 == 0) goto LAB_00043b7c;
              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);
              if (iVar7 == 0) goto code_r0x00043b68;
              if (uStack_74 < 2) {
                if ((iVar33 != 0) ||
                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {
                  piVar27[0x51] = 0;
                }
                if (uStack_74 == 0) {
                  iVar3 = piVar27[iVar33 * 3 + 0x55];
                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];
                  piVar27[3] = iVar3;
LAB_000452b4:
                  if (uStack_74 == 7) {
                    if (piVar27[0x4c] != 0) {
                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))
                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);
                    }
                    (*pcVar37)(pktin,&str,&len);
                    (*pcVar37)(pktin,&str,&len);
                    iVar3 = pktin->savedpos;
                    if ((pktin->length - iVar3 < 1) ||
                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {
                      uVar14 = 0;
                    }
                    else {
                      uVar14 = (uint)(piVar27[0x51] == 0);
                    }
                    psVar19 = ssh->kex;
                    piVar27[0x52] = uVar14;
                    pvVar13 = (*psVar19->hash->init)();
                    pcVar24 = ssh->v_c;
                    ssh->exhash = pvVar13;
                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);
                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);
                    pcVar24 = ssh->v_s;
                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);
                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);
                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],
                                piVar27[0xd]);
                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);
                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;
                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);
                    if (piVar27[3] == 0) goto LAB_00043bfc;
                    ppsVar18 = ssh->s;
                    if (ppsVar18 != (Socket)0x0) {
                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);
                    }
                    iVar3 = *(int *)(in_t9 + 0x6f5bc);
                    pcVar37 = *(code **)(in_t9 + 0x6fb88);
                    inlen = (int)ssh->kex->name;
                    ssh_00 = (Ssh_conflict)ssh->frontend;
                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);
                    ssh->frozen = 1;
                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);
                    piVar27[0x50] = iVar3;
                    if (iVar3 < 0) goto LAB_00045494;
                    goto LAB_00043bcc;
                  }
                }
                else {
                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);
                  iVar8 = 0;
                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);
                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];
                  iVar3 = piVar27[iVar33 * 3 + 0x85];
                  ssh->hostkey = psVar17;
                  piVar27[4] = iVar3;
                  ssh->n_uncert_hostkeys = 0;
                  while( true ) {
                    if (((psVar17 != psVar29) &&
                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&
                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))
                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),
                       iVar3 == 0)) {
                      iVar3 = ssh->n_uncert_hostkeys;
                      ssh->n_uncert_hostkeys = iVar3 + 1;
                      ssh->uncert_hostkeys[iVar3] = iVar8;
                    }
                    iVar8 = iVar8 + 1;
                    puVar30 = puVar30 + 2;
                    if (iVar8 == 6) break;
                    psVar29 = (ssh_signkey *)*puVar30;
                    psVar17 = ssh->hostkey;
                  }
                }
              }
              else if (uStack_74 == 2) {
                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];
                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];
              }
              else if (uStack_74 == 3) {
                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];
                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];
              }
              else if (uStack_74 == 4) {
                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];
                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];
              }
              else if (uStack_74 == 5) {
                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];
                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];
              }
              else {
                if (uStack_74 != 6) {
                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];
                  goto LAB_000452b4;
                }
                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];
              }
            }
            else {
              iVar3 = *(int *)(iVar33 + 0x28);
              piVar27[0x14] = iVar33;
              piVar27[0x16] = (uint)(iVar3 != 0);
            }
          }
          else {
            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||
               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;
            iVar3 = *(int *)(iVar33 + 0x28);
            piVar27[0x15] = iVar33;
            piVar27[0x17] = (uint)(iVar3 != 0);
          }
          uStack_74 = uStack_74 + 1;
          piStack_68 = piStack_68 + 0x30;
          uStack_6c = uStack_6c + 1;
        }
        pcVar37 = *(code **)(in_t9 + 0x6f618);
        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);
      }
      else {
        pcVar37 = *(code **)(in_t9 + 0x6f618);
        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);
      }
      goto LAB_0004361c;
    }
    if (iVar3 == 0x1abc) {
      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);
      if (pktin != (Packet *)0x0) goto LAB_00043614;
      if (0 < inlen) {
LAB_00045494:
        *piVar27 = 0x1abc;
        goto LAB_00042f18;
      }
      piVar27[0x50] = ssh->user_response;
LAB_00043bcc:
      ssh_00 = (Ssh_conflict)ssh->s;
      if (ssh_00 != (Ssh_conflict)0x0) {
        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);
      }
      ssh->frozen = 0;
      if (piVar27[0x50] == 0) {
        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);
        goto LAB_00045800;
      }
LAB_00043bfc:
      if (piVar27[4] == 0) goto LAB_000443a0;
      ppsVar18 = ssh->s;
      if (ppsVar18 != (Socket)0x0) {
        (*(*ppsVar18)->set_frozen)(ppsVar18,1);
      }
      ssh->frozen = 1;
      if (ssh->n_uncert_hostkeys < 1) {
        inlen = (int)ssh->hostkey->name;
        psVar31 = (Ssh_conflict)ssh->frontend;
LAB_00045b94:
        ssh_00 = psVar31;
        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);
        iVar3 = (**(code **)(in_t9 + 0x6fb88))
                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);
        piVar27[0x50] = iVar3;
      }
      else {
        iVar32 = *(int *)(in_t9 + 0x6f5ac);
        piVar20 = ssh->uncert_hostkeys;
        iVar39 = *(int *)(in_t9 + 0x6f5bc);
        iVar3 = 0;
        psVar31 = (Ssh_conflict)0x0;
        do {
          iVar33 = 0;
          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);
          pcVar37 = *(code **)(in_t9 + 0x6f9d8);
          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {
            iVar33 = iVar33 + 1;
            if (piVar40[1] == iVar8) {
              uVar11 = *(undefined4 *)(*piVar40 + 0x30);
              if (psVar31 == (Ssh_conflict)0x0) {
                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);
              }
              else {
                ssh_00 = (Ssh_conflict)
                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);
                (**(code **)(in_t9 + 0x6f5e4))(psVar31);
              }
              break;
            }
            pcVar37 = *(code **)(in_t9 + 0x6f9d8);
            if (iVar33 == 5) break;
          }
          iVar3 = iVar3 + 1;
          piVar20 = piVar20 + 1;
          psVar31 = ssh_00;
        } while (iVar3 < ssh->n_uncert_hostkeys);
        inlen = (int)ssh->hostkey->name;
        psVar31 = (Ssh_conflict)ssh->frontend;
        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;
        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);
        inlen = (int)ssh_00;
        iVar3 = (**(code **)(in_t9 + 0x6fb90))();
        pcVar37 = *(code **)(in_t9 + 0x6f5e4);
        piVar27[0x50] = iVar3;
        (*pcVar37)();
        iVar3 = piVar27[0x50];
      }
      if (-1 < iVar3) goto FUN_00044370;
      goto LAB_00043d00;
    }
    if (iVar3 == 0) {
      uVar14 = ssh->remote_bugs;
      piVar27[0x13] = 0;
      piVar27[0x12] = 0;
      piVar27[0x15] = 0;
      piVar27[0x14] = 0;
      piVar27[0x19] = 0;
      piVar27[0x18] = 0;
      piVar27[0x4e] = 0;
      piVar27[0x4d] = 0;
      piVar27[0x4b] = 0;
      piVar27[0x4c] = 0;
      if ((uVar14 & 2) == 0) {
        piVar27[0x11] = 4;
        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;
        FUN_000448a0();
        return;
      }
      piVar27[0x11] = 3;
      piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc;
      FUN_000448a0();
      return;
    }
    goto LAB_00042f14;
  }
  if (iVar3 == 0x1c91) {
    if (pktin == (Packet *)0x0) {
      *piVar27 = 0x1c91;
      goto LAB_00042f18;
    }
    if (pktin->type == 0x20) {
      ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20);
      if (piVar27[0x1b] == 0) {
        pcVar37 = *(code **)(in_t9 + 0x6f618);
        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);
      }
      else {
        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);
LAB_0004446c:
        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);
        psVar16 = ssh->kex->hash;
        if (0x40 < (uint)psVar16->hlen) {
          (**(code **)(in_t9 + 0x6ff40))
                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,
                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);
          return;
        }
        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));
        pvVar13 = (void *)piVar27[0x22];
        ssh->kex_ctx = (void *)0x0;
        if (pvVar13 == (void *)0x0) {
          pcVar37 = *(code **)(in_t9 + 0x6f618);
          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);
        }
        else {
          iVar15 = (*ssh->hostkey->verifysig)
                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),
                              ssh->kex->hash->hlen);
          if (iVar15 != 0) {
            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);
            piVar27[0x1d] = (int)pcVar24;
            if (piVar27[0x4d] == 0) {
              iVar3 = 0;
              iVar32 = *(int *)(in_t9 + 0x6f604);
              iVar39 = 0;
              iVar22 = *(int *)(in_t9 + 0x6f5bc);
              iVar15 = 0;
              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);
              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);
              do {
                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {
                  piVar20 = ssh->uncert_hostkeys;
                  if (iVar39 != ssh->uncert_hostkeys[0]) {
                    iVar33 = 0;
                    do {
                      piVar20 = piVar20 + 1;
                      iVar33 = iVar33 + 1;
                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;
                    } while (*piVar20 != iVar39);
                  }
                  if (iVar15 == 0) {
                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);
                  }
                  else {
                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);
                  }
                  iVar3 = iVar3 + 1;
                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);
                  iVar15 = iVar33;
                }
LAB_00044588:
                iVar39 = iVar39 + 1;
                puVar30 = puVar30 + 2;
                if (iVar39 == 6) goto LAB_000456a8;
                psVar17 = (ssh_signkey *)*puVar30;
              } while( true );
            }
            if (ssh->cross_certifying != 0) {
              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);
              pvVar13 = ssh->frontend;
              piVar27[0x1e] = iVar15;
              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))
                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);
              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])
              ;
              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);
              (**(code **)(in_t9 + 0x6fc1c))
                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);
              pcVar24 = (char *)piVar27[0x1d];
              ssh->cross_certifying = 0;
              ssh->hostkey_str = pcVar24;
              goto LAB_000430d8;
            }
            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);
            if (iVar15 != 0) {
              pcVar37 = *(code **)(in_t9 + 0x6f618);
              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);
              goto LAB_0004361c;
            }
            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);
            psVar17 = ssh->hostkey;
            goto LAB_000430dc;
          }
          pcVar37 = *(code **)(in_t9 + 0x6f618);
          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);
        }
      }
    }
    else {
      (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);
      pcVar37 = *(code **)(in_t9 + 0x6f618);
      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);
    }
    goto LAB_0004361c;
  }
  if (iVar3 < 0x1c92) {
    if (iVar3 == 0x1bec) {
      if (pktin == (Packet *)0x0) {
        *piVar27 = 0x1bec;
        goto LAB_00042f18;
      }
      if (pktin->type == 0x1f) {
        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);
        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);
        if ((void *)piVar27[0x1a] == (void *)0x0) {
LAB_00045a04:
          pcVar37 = *(code **)(in_t9 + 0x6f618);
          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);
        }
        else {
          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],
                      piVar27[0x1f]);
          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);
          pcVar38 = *(code **)(in_t9 + 0x6fba0);
          piVar27[0x22] = (int)pvVar13;
          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);
          if (pvVar13 == (void *)0x0) {
            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);
            pcVar37 = *(code **)(in_t9 + 0x6f618);
            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);
          }
          else {
            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);
            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);
            (*pcVar37)(pktin,&str,&len);
            if (str == (char *)0x0) goto LAB_00045a04;
            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);
            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);
            piVar27[0xb] = iVar15;
            if (iVar15 != 0) {
              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);
              if (piVar27[0x1b] != 0) {
                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);
                goto LAB_0004446c;
              }
              goto LAB_000459b4;
            }
            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);
            pcVar37 = *(code **)(in_t9 + 0x6f618);
            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);
          }
        }
      }
      else {
        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);
        pcVar37 = *(code **)(in_t9 + 0x6f618);
        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);
      }
      goto LAB_0004361c;
    }
    if (iVar3 == 0x1c2a) {
      if (pktin != (Packet *)0x0) {
        if (pktin->type == 0x1e) {
          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);
          if ((void *)piVar27[0x1a] != (void *)0x0) {
            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],
                        piVar27[0x1f]);
            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);
            piVar27[0x22] = (int)pvVar13;
            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);
            if (len != 0) {
              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);
              piVar27[0x1c] = iVar15;
              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);
              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);
              piVar27[0x23] = iVar15;
              if (iVar15 != 0) {
                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],
                            piVar27[0x21]);
                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);
                iVar22 = 0x800;
                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {
                  iVar22 = 0x400;
                }
                if (iVar22 <= iVar15) {
                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);
                  if ((int)uVar14 < 1) {
                    (**(code **)(in_t9 + 0x6ff40))
                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0
                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);
                    return;
                  }
                  pBVar10 = bn_power_2(uVar14 - 1);
                  piVar27[0xb] = (int)pBVar10;
                  iStack_80 = 0;
                  bitnum = 0;
                  do {
                    if ((bitnum & 7) == 0) {
                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();
                    }
                    uVar28 = bitnum + 1;
                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,
                                   iStack_80 >> (bitnum & 7) & 1);
                    bitnum = uVar28;
                  } while (uVar14 != uVar28);
                  iVar15 = iVar15 + 7 >> 3;
                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);
                  iVar22 = len + 4;
                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);
                  *puVar12 = len._0_1_;
                  pcVar37 = *(code **)(in_t9 + 0x7011c);
                  puVar12[1] = (char)((uint)len >> 0x10);
                  puVar12[2] = (char)((uint)len >> 8);
                  puVar12[3] = (char)len;
                  (*pcVar37)(puVar12 + 4,puVar25,len);
                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);
                  (**(code **)(in_t9 + 0x6fc00))
                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);
                  pPVar26 = ssh2_pkt_init(0x1f);
                  piVar27[0x4f] = (int)pPVar26;
                  x[0] = '\0';
                  x[1] = '\0';
                  x[2] = '\0';
                  x[3] = '\0';
                    /* WARNING: Subroutine does not return */
                  ssh_pkt_adddata(pPVar26,x,4);
                }
                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);
                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))
                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,
                                             ssh->kex->name);
                goto LAB_00043628;
              }
              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);
              pcVar37 = *(code **)(in_t9 + 0x6f618);
              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);
              goto LAB_0004361c;
            }
          }
          pcVar37 = *(code **)(in_t9 + 0x6f618);
          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);
        }
        else {
          pcVar37 = *(code **)(in_t9 + 0x6f618);
          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);
        }
        goto LAB_0004361c;
      }
LAB_000451dc:
      *piVar27 = 0x1c2a;
      goto LAB_00042f18;
    }
    if (iVar3 != 0x1b96) goto LAB_00042f14;
    if (pktin == (Packet *)0x0) {
      *piVar27 = 0x1b96;
      goto LAB_00042f18;
    }
    if (pktin->type != piVar27[0xf]) {
      pcVar37 = *(code **)(in_t9 + 0x6f618);
      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8);
      goto LAB_0004361c;
    }
    (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);
    ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);
    if ((char *)piVar27[0x1a] == (char *)0x0) {
LAB_000459b4:
      pcVar37 = *(code **)(in_t9 + 0x6f618);
      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08);
      goto LAB_0004361c;
    }
    pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);
    piVar27[0x22] = (int)pvVar13;
    pvVar9 = ssh2_pkt_getmp(pktin);
    piVar27[10] = (int)pvVar9;
    if ((pvVar9 == (Bignum)0x0) ||
       (ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0))
    goto LAB_000459b4;
    pcVar24 = dh_validate_f(ssh->kex_ctx,(Bignum)piVar27[10]);
    if (pcVar24 == (char *)0x0) {
      pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10]);
      pvVar13 = ssh->frontend;
      pcVar37 = *(code **)(in_t9 + 0x6fb80);
      piVar27[0xb] = (int)pvVar9;
      (*pcVar37)(pvVar13,0);
      hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]
                 );
      iVar15 = dh_is_gex(ssh->kex);
      if (iVar15 == 0) {
        psVar19 = ssh->kex;
      }
      else {
        pvVar13 = ssh->exhash;
        p_Var36 = ssh->kex->hash->bytes;
        if ((ssh->remote_bugs & 0x1000U) == 0) {
          x[0] = '\0';
          x[1] = '\0';
          x[2] = '\x04';
          x[3] = '\0';
          (*p_Var36)(pvVar13,x,4);
          pvVar13 = ssh->exhash;
          p_Var36 = ssh->kex->hash->bytes;
        }
        x = *(uchar (*) [4])(piVar27 + 2);
        (*p_Var36)(pvVar13,x,4);
        if ((ssh->remote_bugs & 0x1000U) == 0) {
          x[0] = '\0';
          x[1] = '\0';
          x[2] = ' ';
          x[3] = '\0';
          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);
        }
        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);
        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);
        psVar19 = ssh->kex;
      }
      hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9]);
      hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10]);
      dh_cleanup(ssh->kex_ctx);
                    /* WARNING: Subroutine does not return */
      freebn((Bignum_conflict)piVar27[10]);
    }
    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24);
    goto LAB_00043628;
  }
  if (iVar3 != 0x1d8a) {
    if (iVar3 == 0x1e09) {
      if (pktin == (Packet *)0x0) {
        if (inlen < 0) {
          if (inlen != -2) {
LAB_00044e58:
            if ((ssh->remote_bugs & 0x40U) == 0) {
              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);
              FUN_000448a0();
              return;
            }
            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);
            ssh->outgoing_data_size = 0;
            pcVar37 = *(code **)(in_t9 + 0x6f648);
            ssh->incoming_data_size = 0;
            (*pcVar37)(ssh->conf,0x1a);
            return;
          }
          if (piVar27[0x4b] != 0) {
            (**(code **)(in_t9 + 0x6ff40))
                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,
                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);
            return;
          }
          piVar27[0x4b] = 1;
          if (piVar27[0x4c] != 0) {
            piVar27[0x4c] = 0;
            goto LAB_00044e58;
          }
        }
      }
      else if (pktin->type == 0x14) {
        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))
                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);
        FUN_000448a0();
        return;
      }
      if (ssh->protocol_initial_phase_done == 0) {
        ssh->protocol_initial_phase_done = 1;
        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);
        *piVar27 = 0x1e09;
        ssh_00 = ssh;
      }
      else {
        *piVar27 = 0x1e09;
      }
      goto LAB_00042f18;
    }
    if (iVar3 != 0x1cf9) goto LAB_00042f14;
    ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);
    if (pktin == (Packet *)0x0) {
      if (inlen < 1) {
        piVar27[0x50] = ssh->user_response;
        goto LAB_00043094;
      }
      goto LAB_000457e0;
    }
    pcVar37 = *(code **)(in_t9 + 0x6f618);
    piVar20 = &ssh_00[0xe].agentfwd_enabled;
    goto LAB_0004361c;
  }
  if (pktin == (Packet *)0x0) goto LAB_000434a4;
  if (pktin->type != 0x15) {
    pcVar37 = *(code **)(in_t9 + 0x6f618);
    piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6160);
    goto LAB_0004361c;
  }
  ssh->incoming_data_size = 0;
  if (ssh->sc_cipher_ctx != (void *)0x0) {
    (*ssh->sccipher->free_context)(ssh->sc_cipher_ctx);
  }
  psVar4 = (ssh2_cipher *)piVar27[0x13];
  if (psVar4 != (ssh2_cipher *)0x0) {
    p_Var34 = psVar4->make_context;
    ssh->sccipher = psVar4;
    pvVar13 = (*p_Var34)();
    ssh->sc_cipher_ctx = pvVar13;
  }
  if (ssh->sc_mac_ctx != (void *)0x0) {
    (*ssh->scmac->free_context)(ssh->sc_mac_ctx);
  }
  psVar5 = (ssh_mac *)piVar27[0x15];
  if (psVar5 != (ssh_mac *)0x0) {
    iVar15 = piVar27[0x17];
    p_Var35 = psVar5->make_context;
    ssh->scmac = psVar5;
    ssh->scmac_etm = iVar15;
    pvVar13 = (*p_Var35)(ssh->sc_cipher_ctx);
    ssh->sc_mac_ctx = pvVar13;
  }
  if (ssh->sc_comp_ctx != (void *)0x0) {
    (*ssh->sccomp->decompress_cleanup)(ssh->sc_comp_ctx);
  }
  psVar6 = (ssh_compress *)piVar27[0x19];
  ssh->sccomp = psVar6;
  pvVar13 = (*psVar6->decompress_init)();
  ssh->sc_comp_ctx = pvVar13;
  if (ssh->sccipher != (ssh2_cipher *)0x0) {
    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',
                         ssh->sccipher->padded_keybytes);
    (*ssh->sccipher->setkey)(ssh->sc_cipher_ctx,puVar25);
    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->padded_keybytes);
    (**(code **)(in_t9 + 0x6f5e4))(puVar25);
    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',
                         ssh->sccipher->blksize);
    (*ssh->sccipher->setiv)(ssh->sc_cipher_ctx,puVar25);
    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->blksize);
    (**(code **)(in_t9 + 0x6f5e4))(puVar25);
  }
  if (ssh->scmac == (ssh_mac *)0x0) {
    psVar4 = ssh->sccipher;
    if (psVar4 == (ssh2_cipher *)0x0) {
      psVar6 = ssh->sccomp;
      goto LAB_0004483c;
    }
LAB_000447c0:
    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name);
  }
  else {
    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen);
    (*ssh->scmac->setkey)(ssh->sc_mac_ctx,puVar25);
    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->scmac->keylen);
    (**(code **)(in_t9 + 0x6f5e4))(puVar25);
    psVar4 = ssh->sccipher;
    if (psVar4 != (ssh2_cipher *)0x0) goto LAB_000447c0;
  }
  if (ssh->scmac != (ssh_mac *)0x0) {
    if (ssh->scmac_etm == 0) {
      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;
    }
    else {
      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;
    }
    if (ssh->sccipher->required_mac == (ssh_mac *)0x0) {
      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;
    }
    else {
      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;
    }
    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,iVar15,iVar22);
  }
  psVar6 = ssh->sccomp;
LAB_0004483c:
  if (psVar6->text_name != (char *)0x0) {
    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec));
  }
                    /* WARNING: Subroutine does not return */
  freebn((Bignum_conflict)piVar27[0xb]);
code_r0x00043b68:
  if ((uStack_6c < 2) &&
     (iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0)) {
    piVar27[0x4c] = 1;
  }
  iVar33 = iVar33 + 1;
  piVar20 = piVar20 + 3;
  if (iVar33 == 0x10) {
LAB_00043b7c:
    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))
                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,
                                 pcVar24);
    goto LAB_00043628;
  }
  goto LAB_00043b44;
LAB_000456a8:
  if (iVar15 != 0) {
    if (iVar3 < 2) {
      iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;
      iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;
    }
    else {
      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;
      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;
    }
    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22);
    (**(code **)(in_t9 + 0x6f5e4))(iVar15);
  }
  iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);
  pvVar13 = ssh->frontend;
  piVar27[0x1e] = iVar15;
  (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))
            (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x5f90);
  (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e]);
  iVar15 = verify_ssh_manual_host_key(ssh,(char *)piVar27[0x1e],ssh->hostkey,(void *)piVar27[0x22]);
  piVar27[0x50] = iVar15;
  if (iVar15 != 0) {
    pcVar37 = *(code **)(in_t9 + 0x6f5e4);
    if (-1 < iVar15) {
LAB_000430c8:
      (*pcVar37)(piVar27[0x1e]);
      ssh->hostkey_str = (char *)piVar27[0x1d];
LAB_000430d8:
      psVar17 = ssh->hostkey;
LAB_000430dc:
      (*psVar17->freekey)((void *)piVar27[0x22]);
      if (piVar27[0x4d] == 0) {
        piVar20 = piVar27 + 0x25;
        puVar25 = ssh->v2_session_id;
        do {
          iVar32 = *piVar20;
          iVar3 = piVar20[1];
          iVar22 = piVar20[2];
          iVar15 = piVar20[3];
          piVar20 = piVar20 + 4;
          *(int *)puVar25 = iVar32;
          *(int *)(puVar25 + 4) = iVar3;
          *(int *)(puVar25 + 8) = iVar22;
          *(int *)(puVar25 + 0xc) = iVar15;
          puVar25 = puVar25 + 0x10;
        } while (piVar20 != piVar27 + 0x35);
        uVar14 = ssh->kex->hash->hlen;
        ssh->v2_session_id_len = uVar14;
        if (0x40 < uVar14) {
          (**(code **)(in_t9 + 0x6ff40))
                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,
                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);
          return;
        }
        piVar27[0x4d] = 1;
      }
      pPVar26 = ssh2_pkt_init(0x15);
      piVar27[0x4f] = (int)pPVar26;
      ssh2_pkt_send_noqueue(ssh,pPVar26);
      ssh->outgoing_data_size = 0;
      if (ssh->cs_cipher_ctx != (void *)0x0) {
        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);
      }
      psVar4 = (ssh2_cipher *)piVar27[0x12];
      ssh->cscipher = psVar4;
      if (psVar4 != (ssh2_cipher *)0x0) {
        pvVar13 = (*psVar4->make_context)();
        ssh->cs_cipher_ctx = pvVar13;
      }
      if (ssh->cs_mac_ctx != (void *)0x0) {
        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);
      }
      psVar5 = (ssh_mac *)piVar27[0x14];
      iVar15 = piVar27[0x16];
      ssh->csmac = psVar5;
      ssh->csmac_etm = iVar15;
      if (psVar5 != (ssh_mac *)0x0) {
        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);
        ssh->cs_mac_ctx = pvVar13;
      }
      if (ssh->cs_comp_ctx != (void *)0x0) {
        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);
      }
      psVar6 = (ssh_compress *)piVar27[0x18];
      ssh->cscomp = psVar6;
      pvVar13 = (*psVar6->compress_init)();
      ssh->cs_comp_ctx = pvVar13;
      if (ssh->cscipher != (ssh2_cipher *)0x0) {
        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',
                             ssh->cscipher->padded_keybytes);
        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);
        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);
        (**(code **)(in_t9 + 0x6f5e4))(puVar25);
        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',
                             ssh->cscipher->blksize);
        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);
        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);
        (**(code **)(in_t9 + 0x6f5e4))(puVar25);
      }
      if (ssh->csmac == (ssh_mac *)0x0) {
        psVar4 = ssh->cscipher;
        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;
        psVar6 = ssh->cscomp;
      }
      else {
        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',
                             ssh->csmac->keylen);
        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);
        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);
        (**(code **)(in_t9 + 0x6f5e4))(puVar25);
        psVar4 = ssh->cscipher;
        if (psVar4 != (ssh2_cipher *)0x0) {
LAB_0004339c:
          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);
        }
        if (ssh->csmac != (ssh_mac *)0x0) {
          if (ssh->csmac_etm == 0) {
            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;
          }
          else {
            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;
          }
          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {
            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;
          }
          else {
            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;
          }
          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,
                    iVar22);
        }
        psVar6 = ssh->cscomp;
      }
      if (psVar6->text_name != (char *)0x0) {
        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));
      }
      ssh->queueing = 0;
      if (0 < ssh->queuelen) {
        iStack_80 = 0;
        do {
          iVar15 = iStack_80 + 1;
          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);
          iStack_80 = iVar15;
        } while (iVar15 < ssh->queuelen);
      }
      ssh->queuelen = 0;
      ssh_pkt_defersend(ssh);
      ssh_00 = ssh;
LAB_000434a4:
      *piVar27 = 0x1d8a;
      goto LAB_00042f18;
    }
    ppsVar18 = ssh->s;
    if (ppsVar18 != (Socket)0x0) {
      (*(*ppsVar18)->set_frozen)(ppsVar18,1);
    }
    pcVar37 = *(code **)(in_t9 + 0x6fc14);
    pcVar24 = ssh->hostkey->keytype;
    iVar15 = *(int *)(in_t9 + 0x6fb0c);
    iVar22 = piVar27[0x1e];
    ssh_00 = (Ssh_conflict)ssh->frontend;
    ssh->frozen = 1;
    iVar15 = (*pcVar37)(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,
                        iVar15 + -0xf58,ssh);
    piVar27[0x50] = iVar15;
    if (iVar15 < 0) {
LAB_000457e0:
      *piVar27 = 0x1cf9;
      goto LAB_00042f18;
    }
LAB_00043094:
    ppsVar18 = ssh->s;
    if (ppsVar18 != (Socket)0x0) {
      (*(*ppsVar18)->set_frozen)(ppsVar18,0);
    }
    ssh->frozen = 0;
    if (piVar27[0x50] != 0) {
      pcVar37 = *(code **)(in_t9 + 0x6f5e4);
      goto LAB_000430c8;
    }
    pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6028);
LAB_00045800:
    ssh_disconnect(ssh,pcVar24,(char *)0x0,0,1);
    *piVar27 = 0;
    ssh_00 = ssh;
    goto LAB_00042f18;
  }
  pcVar37 = *(code **)(in_t9 + 0x6f618);
  piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5fac);
LAB_0004361c:
  pcVar24 = (char *)(*pcVar37)(piVar20);
LAB_00043628:
  bomb_out(ssh,pcVar24);
  ssh_00 = ssh;
LAB_00042f14:
  *piVar27 = 0;
LAB_00042f18:
  if (iVar23 == *piVar2) {
    return;
  }
  pcVar37 = *(code **)(in_t9 + 0x700ec);
  (*pcVar37)();
  puVar25 = ssh_00->deferred_send_data;
  iVar15 = s_write((Ssh_conflict)&ssh_00->s,ssh_00->logctx,(int)puVar25,
                   (Ssh_conflict)ssh_00->deferred_len);
  ssh_00->deferred_size = 0;
  pcVar38 = *(code **)(pcVar37 + 0x6c288);
  ssh_00->deferred_len = 0;
  (*pcVar38)(ssh_00->deferred_send_data);
  ssh_00->deferred_send_data = (uchar *)0x0;
  if ((0x8000 < iVar15) && (ssh_00->throttled_all != 1)) {
    ssh_00->throttled_all = 1;
    ssh_00->overall_bufsize = iVar15;
    if (ssh_00->channels != (tree234 *)0x0) {
      ssh_throttle_all(ssh_00,1,(int)puVar25);
    }
  }
  if (ssh_00->version == 2) {
    uVar21 = ssh_00->deferred_data_size;
    ssh_00->deferred_data_size = 0;
    uVar14 = ssh_00->outgoing_data_size + uVar21;
    ssh_00->outgoing_data_size = uVar14;
    if ((((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&
        (ssh_00->max_data_size != 0)) && (ssh_00->max_data_size < uVar14)) {
      do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0);
      return;
    }
  }
  return;
}



void FUN_00042dec(int *param_1,undefined4 param_2,int param_3,int *param_4)

{
  char cVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  undefined *puVar5;
  undefined1 uVar9;
  undefined *puVar6;
  int iVar7;
  undefined1 *puVar8;
  code *pcVar10;
  undefined *puVar11;
  int iVar12;
  int iVar13;
  int *piVar14;
  undefined *puVar15;
  int iVar16;
  undefined4 uVar17;
  int *piVar18;
  undefined4 *puVar19;
  uint uVar20;
  uint uVar21;
  undefined4 uVar22;
  int *piVar23;
  int iVar24;
  int *piVar25;
  undefined *puVar26;
  int *piVar27;
  code *pcVar28;
  int *piVar29;
  int *piVar30;
  int local_90;
  int *local_8c;
  int local_80;
  uint local_74;
  uint local_6c;
  int *local_68;
  int local_58;
  uint local_54;
  int *local_50 [4];
  undefined *local_40;
  undefined *local_3c;
  undefined *local_38;
  undefined *local_34;
  int local_30;
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_000b2f04;
  puVar15 = PTR_s_acket_from_server___s_000b23a8;
  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);
  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);
  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;
  piVar18 = (int *)param_1[0x73];
  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);
  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);
  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;
  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;
  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;
  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;
  piVar14 = local_50[2];
  if (piVar18 == (int *)0x0) {
    piVar14 = (int *)0x1;
    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);
    param_1[0x73] = (int)piVar18;
    *piVar18 = 0;
  }
  if (param_1[0x3b] != 0) {
    (*(code *)PTR___assert_fail_000b2d2c)
              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,
               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,
               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
    return;
  }
  if (param_1[0x66] != 2) {
    (*(code *)PTR___assert_fail_000b2d2c)
              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,
               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,
               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
    return;
  }
  iVar3 = *piVar18;
  if (iVar3 == 0x1b73) {
    if (param_4 == (int *)0x0) {
LAB_00044348:
      *piVar18 = 0x1b73;
      param_1 = piVar14;
      goto LAB_00042f18;
    }
    if (param_4[2] == 0x1f) {
      iVar3 = FUN_00037b74(param_4);
      piVar18[7] = iVar3;
      iVar3 = FUN_00037b74(param_4);
      piVar18[8] = iVar3;
      if ((piVar18[7] != 0) && (iVar3 != 0)) {
        iVar3 = dh_setup_gex(piVar18[7],iVar3);
        param_1[0x3a] = iVar3;
        piVar18[0xe] = 0x20;
        piVar18[0xf] = 0x21;
LAB_00043d90:
        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,
                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));
        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);
        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);
        piVar18[9] = iVar3;
        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);
        piVar18[0x4f] = (int)puVar19;
        uVar22 = FUN_00037c0c(piVar18[9],&local_54);
        local_30 = 0;
        FUN_0003aef4(puVar19,&local_30,4);
        puVar19[6] = *puVar19;
        FUN_0003b124(puVar19,uVar22,local_54);
        (*(code *)PTR_safefree_000b23d0)(uVar22);
        FUN_00046280(param_1,piVar18[0x4f]);
        piVar14 = (int *)param_1[0x44];
        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);
LAB_00043e9c:
        *piVar18 = 0x1b96;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;
    }
    else {
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;
    }
LAB_0004361c:
    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);
LAB_00043628:
    FUN_0003822c(param_1,uVar22);
    piVar14 = param_1;
  }
  else {
    local_8c = param_4;
    if (0x1b73 < iVar3) {
      if (iVar3 == 0x1c91) {
        if (param_4 == (int *)0x0) {
LAB_00045644:
          *piVar18 = 0x1c91;
          param_1 = piVar14;
          goto LAB_00042f18;
        }
        if (param_4[2] == 0x20) {
          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);
          if (piVar18[0x1b] == 0) {
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;
          }
          else {
            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);
LAB_0004446c:
            iVar3 = param_1[0x26];
LAB_00044470:
            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);
            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {
              (*(code *)PTR___assert_fail_000b2d2c)
                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,
                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,
                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
              return;
            }
            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);
            iVar3 = piVar18[0x22];
            param_1[0x3a] = 0;
            if (iVar3 == 0) {
              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;
            }
            else {
              iVar3 = (**(code **)(param_1[0x27] + 0x28))
                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,
                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));
              if (iVar3 != 0) {
                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);
                piVar18[0x1d] = iVar3;
                if (piVar18[0x4d] == 0) {
                  iVar16 = 0;
                  iVar12 = 0;
                  iVar3 = 0;
                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);
                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;
                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;
                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;
                  do {
                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {
                      if (iVar12 != param_1[0x1ac]) {
                        iVar7 = 0;
                        piVar14 = param_1 + 0x1ad;
                        do {
                          iVar7 = iVar7 + 1;
                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;
                          iVar13 = *piVar14;
                          piVar14 = piVar14 + 1;
                        } while (iVar13 != iVar12);
                      }
                      if (iVar3 == 0) {
                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);
                      }
                      else {
                        iVar7 = (*(code *)PTR_dupprintf_000b2404)
                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));
                      }
                      iVar16 = iVar16 + 1;
                      (*(code *)PTR_safefree_000b23d0)(iVar3);
                      iVar3 = iVar7;
                    }
LAB_00044588:
                    iVar12 = iVar12 + 1;
                    puVar19 = puVar19 + 2;
                    if (iVar12 == 6) goto LAB_000456a8;
                    puVar15 = (undefined *)*puVar19;
                  } while( true );
                }
                if (param_1[0x1b3] != 0) {
                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);
                  iVar16 = param_1[0x44];
                  piVar18[0x1e] = iVar3;
                  (*(code *)PTR_logevent_000b242c)
                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);
                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);
                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);
                  (*(code *)PTR_store_host_key_000b2a08)
                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),
                             piVar18[0x1d]);
                  iVar3 = piVar18[0x1d];
                  param_1[0x1b3] = 0;
                  param_1[0x28] = iVar3;
                  goto LAB_000430d8;
                }
                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);
                if (iVar16 != 0) {
                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;
                  goto LAB_0004361c;
                }
                (*(code *)PTR_safefree_000b23d0)(iVar3);
                iVar3 = param_1[0x27];
                goto LAB_000430dc;
              }
              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;
            }
          }
        }
        else {
          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);
          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;
        }
        goto LAB_0004361c;
      }
      if (0x1c91 < iVar3) {
        if (iVar3 == 0x1d8a) {
          if (param_4 == (int *)0x0) goto LAB_000434a4;
          if (param_4[2] != 0x15) {
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;
            goto LAB_0004361c;
          }
          param_1[0x1a1] = 0;
          if (param_1[0x1b] != 0) {
            (**(code **)(param_1[0x19] + 4))();
          }
          puVar19 = (undefined4 *)piVar18[0x13];
          if (puVar19 != (undefined4 *)0x0) {
            pcVar28 = (code *)*puVar19;
            param_1[0x19] = (int)puVar19;
            iVar3 = (*pcVar28)();
            param_1[0x1b] = iVar3;
          }
          if (param_1[0x21] != 0) {
            (**(code **)(param_1[0x1d] + 4))();
          }
          puVar19 = (undefined4 *)piVar18[0x15];
          if (puVar19 != (undefined4 *)0x0) {
            iVar3 = piVar18[0x17];
            pcVar28 = (code *)*puVar19;
            param_1[0x1d] = (int)puVar19;
            param_1[0x1f] = iVar3;
            iVar3 = (*pcVar28)(param_1[0x1b]);
            param_1[0x21] = iVar3;
          }
          if (param_1[0x25] != 0) {
            (**(code **)(param_1[0x23] + 0x18))();
          }
          iVar3 = piVar18[0x19];
          param_1[0x23] = iVar3;
          iVar3 = (**(code **)(iVar3 + 0x14))();
          param_1[0x25] = iVar3;
          if (param_1[0x19] != 0) {
            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,
                                  *(undefined4 *)(param_1[0x19] + 0x2c));
            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);
            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));
            (*(code *)PTR_safefree_000b23d0)(uVar22);
            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,
                                  *(undefined4 *)(param_1[0x19] + 0x24));
            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);
            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));
            (*(code *)PTR_safefree_000b23d0)(uVar22);
          }
          if (param_1[0x1d] == 0) {
            iVar3 = param_1[0x19];
            if (iVar3 != 0) goto LAB_000447c0;
            iVar3 = param_1[0x23];
          }
          else {
            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,
                                  *(undefined4 *)(param_1[0x1d] + 0x30));
            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);
            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));
            (*(code *)PTR_safefree_000b23d0)(uVar22);
            iVar3 = param_1[0x19];
            if (iVar3 != 0) {
LAB_000447c0:
              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,
                           *(undefined4 *)(iVar3 + 0x34));
            }
            if (param_1[0x1d] != 0) {
              if (param_1[0x1f] == 0) {
                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
              }
              else {
                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;
              }
              if (*(int *)(param_1[0x19] + 0x38) == 0) {
                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
              }
              else {
                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;
              }
              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,
                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);
            }
            iVar3 = param_1[0x23];
          }
          if (*(int *)(iVar3 + 0x24) != 0) {
            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);
          }
          freebn(piVar18[0xb]);
          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);
          puVar6 = PTR_getticks_000b23ac;
          if (param_1[0x1a8] != 0) {
            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);
            local_8c = (int *)0x0;
            param_1[0x1a8] = 0;
            goto LAB_000448a0;
          }
          param_1[0x1a5] = 0;
          iVar3 = (*(code *)puVar6)();
          puVar6 = PTR_conf_get_int_000b2434;
          piVar14 = (int *)param_1[0x92];
          param_1[0x1a7] = iVar3;
          iVar3 = (*(code *)puVar6)(piVar14,0x1a);
          if (iVar3 != 0) {
            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);
            piVar14 = (int *)(iVar3 * 60000);
            iVar3 = (*(code *)PTR_schedule_timer_000b2568)
                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);
            param_1[0x1a6] = iVar3;
          }
LAB_00043eb4:
          if (param_4[2] == 0x14) {
            (*(code *)PTR_logevent_000b242c)
                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);
            goto LAB_000448a0;
          }
        }
        else {
          if (iVar3 != 0x1e09) {
            if (iVar3 != 0x1cf9) goto LAB_00042f14;
            if (param_4 == (int *)0x0) {
              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
              if (0 < param_3) goto LAB_000457e0;
              piVar18[0x50] = param_1[0x97];
              goto LAB_00043094;
            }
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;
            goto LAB_0004361c;
          }
          if (param_4 != (int *)0x0) goto LAB_00043eb4;
          if (param_3 < 0) {
            if (param_3 == -2) {
              if (piVar18[0x4b] != 0) {
                (*(code *)PTR___assert_fail_000b2d2c)
                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,
                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,
                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
                return;
              }
              piVar18[0x4b] = 1;
              if (piVar18[0x4c] == 0) goto LAB_00043ec8;
              piVar18[0x4c] = 0;
            }
            if ((param_1[0x14] & 0x40U) == 0) {
              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);
              goto LAB_000448a0;
            }
            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);
            piVar14 = (int *)param_1[0x92];
            param_1[0x1a2] = 0;
            puVar15 = PTR_conf_get_int_000b2434;
            param_1[0x1a1] = 0;
            iVar3 = (*(code *)puVar15)(piVar14,0x1a);
            if (iVar3 != 0) {
              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);
              piVar14 = (int *)(iVar3 * 60000);
              iVar3 = (*(code *)PTR_schedule_timer_000b2568)
                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);
              param_1[0x1a6] = iVar3;
            }
          }
        }
LAB_00043ec8:
        if (param_1[0x8e] == 0) {
          param_1[0x8e] = 1;
          FUN_0003f3f4(param_1,0,0,0);
          *piVar18 = 0x1e09;
        }
        else {
          *piVar18 = 0x1e09;
          param_1 = piVar14;
        }
        goto LAB_00042f18;
      }
      if (iVar3 == 0x1bec) {
        if (param_4 != (int *)0x0) {
          if (param_4[2] == 0x1f) {
            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);
            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);
            if (piVar18[0x1a] == 0) {
LAB_00045a04:
              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;
            }
            else {
              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])
              ;
              iVar3 = (**(code **)param_1[0x27])
                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);
              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;
              piVar18[0x22] = iVar3;
              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);
              if (iVar3 == 0) {
                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;
              }
              else {
                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);
                (*(code *)PTR_safefree_000b23d0)(iVar3);
                (*pcVar28)(param_4,&local_58,&local_54);
                if (local_58 == 0) goto LAB_00045a04;
                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);
                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);
                piVar18[0xb] = iVar3;
                if (iVar3 != 0) {
                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);
                  if (piVar18[0x1b] == 0) goto LAB_000459b4;
                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
                  goto LAB_0004446c;
                }
                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;
              }
            }
          }
          else {
            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;
          }
          goto LAB_0004361c;
        }
LAB_00044a00:
        *piVar18 = 0x1bec;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      if (iVar3 == 0x1c2a) {
        if (param_4 != (int *)0x0) {
          if (param_4[2] == 0x1e) {
            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);
            if (piVar18[0x1a] != 0) {
              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])
              ;
              iVar3 = (**(code **)param_1[0x27])
                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);
              piVar18[0x22] = iVar3;
              FUN_00037704(param_4,&local_54,piVar18 + 0x21);
              if (local_54 != 0) {
                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);
                piVar18[0x1c] = iVar3;
                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);
                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);
                piVar18[0x23] = iVar3;
                if (iVar3 != 0) {
                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],
                               piVar18[0x21]);
                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);
                  iVar16 = 0x800;
                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {
                    iVar16 = 0x400;
                  }
                  if (iVar3 < iVar16) {
                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);
                    uVar22 = (*(code *)PTR_dupprintf_000b2404)
                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,
                                        *(undefined4 *)param_1[0x26]);
                    goto LAB_00043628;
                  }
                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *
                                   0x10 + 0x31);
                  if ((int)uVar4 < 1) {
                    (*(code *)PTR___assert_fail_000b2d2c)
                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,
                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,
                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
                    return;
                  }
                  iVar16 = bn_power_2(uVar4 - 1);
                  piVar18[0xb] = iVar16;
                  local_80 = 0;
                  uVar21 = 0;
                  do {
                    if ((uVar21 & 7) == 0) {
                      local_80 = (*(code *)PTR_random_byte_000b28d4)();
                    }
                    uVar20 = uVar21 + 1;
                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);
                    uVar21 = uVar20;
                  } while (uVar4 != uVar20);
                  iVar16 = iVar3 + 7 >> 3;
                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);
                  iVar3 = local_54 + 4;
                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);
                  *puVar8 = local_54._0_1_;
                  puVar15 = PTR_memcpy_000b2f08;
                  puVar8[1] = (char)(local_54 >> 0x10);
                  puVar8[2] = (char)(local_54 >> 8);
                  puVar8[3] = (char)local_54;
                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);
                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);
                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)
                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,
                             piVar18[0x23]);
                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);
                  piVar18[0x4f] = (int)puVar19;
                  local_30 = 0;
                  FUN_0003aef4(puVar19,&local_30,4);
                  iVar3 = piVar18[0x4f];
                  puVar19[6] = *puVar19;
                  FUN_0003b124(iVar3,uVar17,iVar16);
                  FUN_00046280(param_1,piVar18[0x4f]);
                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);
                  (*(code *)PTR_safefree_000b23d0)(puVar8);
                  (*(code *)PTR_safefree_000b23d0)(uVar22);
                  (*(code *)PTR_safefree_000b23d0)(uVar17);
                  piVar14 = (int *)piVar18[0x23];
                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();
                  goto LAB_00045644;
                }
                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);
                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;
                goto LAB_0004361c;
              }
            }
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;
          }
          else {
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;
          }
          goto LAB_0004361c;
        }
LAB_000451dc:
        *piVar18 = 0x1c2a;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      if (iVar3 != 0x1b96) goto LAB_00042f14;
      if (param_4 == (int *)0x0) goto LAB_00043e9c;
      if (param_4[2] != piVar18[0xf]) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;
        goto LAB_0004361c;
      }
      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);
      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);
      if (piVar18[0x1a] == 0) {
LAB_000459b4:
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;
        goto LAB_0004361c;
      }
      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);
      piVar18[0x22] = iVar3;
      iVar3 = FUN_00037b74(param_4);
      piVar18[10] = iVar3;
      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))
      goto LAB_000459b4;
      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);
      if (iVar3 == 0) {
        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);
        puVar15 = PTR_set_busy_status_000b296c;
        iVar16 = param_1[0x44];
        piVar18[0xb] = iVar3;
        (*(code *)puVar15)(iVar16,0);
        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);
        iVar3 = dh_is_gex(param_1[0x26]);
        if (iVar3 == 0) {
          iVar3 = param_1[0x26];
        }
        else {
          iVar3 = param_1[3];
          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);
          if ((param_1[0x14] & 0x1000U) == 0) {
            local_30 = 0x400;
            (*pcVar28)(iVar3,&local_30,4);
            iVar3 = param_1[3];
            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);
          }
          local_30 = piVar18[2];
          (*pcVar28)(iVar3,&local_30,4);
          if ((param_1[0x14] & 0x1000U) == 0) {
            local_30 = 0x2000;
            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);
          }
          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);
          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);
          iVar3 = param_1[0x26];
        }
        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);
        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);
        dh_cleanup(param_1[0x3a]);
        freebn(piVar18[10]);
        iVar3 = dh_is_gex(param_1[0x26]);
        if (iVar3 == 0) goto LAB_0004446c;
        freebn(piVar18[8]);
        freebn(piVar18[7]);
        iVar3 = param_1[0x26];
        goto LAB_00044470;
      }
      uVar22 = (*(code *)PTR_dupprintf_000b2404)
                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);
      goto LAB_00043628;
    }
    if (iVar3 == 0x1aff) {
      if (param_4 != (int *)0x0) {
LAB_00043614:
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;
        goto LAB_0004361c;
      }
      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
      if (0 < param_3) {
LAB_00043d00:
        *piVar18 = 0x1aff;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      piVar18[0x50] = param_1[0x97];
LAB_00044370:
      piVar14 = (int *)param_1[4];
      if (piVar14 != (int *)0x0) {
        (**(code **)(*piVar14 + 0x18))(piVar14,0);
      }
      param_1[0x98] = 0;
      if (piVar18[0x50] == 0) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;
        goto LAB_00045800;
      }
LAB_000443a0:
      if (piVar18[5] != 0) {
        piVar14 = (int *)param_1[4];
        if (piVar14 != (int *)0x0) {
          (**(code **)(*piVar14 + 0x18))(piVar14,1);
        }
        puVar6 = PTR_askalg_000b2974;
        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);
        piVar14 = (int *)param_1[0x44];
        puVar5 = PTR_LAB_000b28f8 + -0xf58;
        param_1[0x98] = 1;
        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);
        piVar18[0x50] = iVar3;
        if (iVar3 < 0) {
LAB_0004440c:
          *piVar18 = 0x1b18;
          param_1 = piVar14;
          goto LAB_00042f18;
        }
        goto LAB_000434e0;
      }
LAB_00043510:
      if (piVar18[6] != 0) {
        piVar14 = (int *)param_1[4];
        if (piVar14 != (int *)0x0) {
          (**(code **)(*piVar14 + 0x18))(piVar14,1);
        }
        puVar6 = PTR_askalg_000b2974;
        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);
        piVar14 = (int *)param_1[0x44];
        puVar5 = PTR_LAB_000b28f8 + -0xf58;
        param_1[0x98] = 1;
        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);
        piVar18[0x50] = iVar3;
        if (iVar3 < 0) {
LAB_000454a0:
          *piVar18 = 0x1b31;
          param_1 = piVar14;
          goto LAB_00042f18;
        }
        goto LAB_00043578;
      }
LAB_000435a8:
      param_4 = (int *)piVar18[0x52];
joined_r0x0004422c:
      if (param_4 == (int *)0x0) {
        *piVar18 = 0x1b43;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      iVar3 = param_1[0x26];
      if (*(int *)(iVar3 + 8) == 0) {
        iVar16 = 0;
        if (piVar18[0x12] != 0) {
          iVar16 = *(int *)(piVar18[0x12] + 0x28);
        }
        local_80 = 0;
        if (piVar18[0x13] != 0) {
          local_80 = *(int *)(piVar18[0x13] + 0x28);
        }
        if (local_80 <= iVar16) {
          local_80 = iVar16;
        }
        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;
        if (iVar3 < local_80) {
          local_80 = iVar3;
        }
        piVar18[1] = local_80;
        iVar3 = dh_is_gex();
        if (iVar3 == 0) {
          param_1[0x61] = 1;
          iVar3 = dh_setup_group(param_1[0x26]);
          iVar16 = param_1[0x26];
          param_1[0x3a] = iVar3;
          piVar18[0xe] = 0x1e;
          puVar15 = PTR_s_acket_from_server___s_000b23a8;
          uVar22 = *(undefined4 *)(iVar16 + 4);
          piVar18[0xf] = 0x1f;
          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);
          goto LAB_00043d90;
        }
        (*(code *)PTR_logevent_000b242c)
                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);
        iVar16 = piVar18[1];
        param_1[0x61] = 2;
        iVar3 = iVar16 + -1;
        if (iVar3 < 0) {
          iVar3 = iVar16 + 0x3e;
        }
        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);
        if (iVar3 < 0x400) {
          piVar18[2] = 0x400;
        }
        else {
          if (0x2000 < iVar3) {
            iVar3 = 0x2000;
          }
          piVar18[2] = iVar3;
        }
        if ((param_1[0x14] & 0x1000U) == 0) {
          iVar3 = FUN_0003b04c(0x22);
          piVar18[0x4f] = iVar3;
          local_30 = 0x400;
          FUN_0003aef4(iVar3,&local_30,4);
          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);
          local_30 = 0x2000;
          FUN_0003aef4(piVar18[0x4f],&local_30,4);
        }
        else {
          iVar3 = FUN_0003b04c(0x1e);
          piVar18[0x4f] = iVar3;
          FUN_0003b1cc(iVar3,piVar18[2]);
        }
        FUN_00046280(param_1,piVar18[0x4f]);
        piVar14 = param_1;
        goto LAB_00044348;
      }
      if (*(int *)(iVar3 + 8) != 2) {
        piVar14 = param_1;
        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,
                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));
        param_1[0x61] = 4;
        goto LAB_000451dc;
      }
      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();
      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,
                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));
      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;
      param_1[0x61] = 3;
      iVar3 = (*(code *)puVar15)(param_1[0x26]);
      piVar18[0x24] = iVar3;
      if (iVar3 == 0) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;
      }
      else {
        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);
        if (iVar3 != 0) {
          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);
          piVar18[0x4f] = (int)puVar19;
          local_30 = 0;
          FUN_0003aef4(puVar19,&local_30,4);
          iVar16 = piVar18[0x4f];
          puVar19[6] = *puVar19;
          FUN_0003b124(iVar16,iVar3,local_54);
          (*(code *)PTR_safefree_000b23d0)(iVar3);
          FUN_00046280(param_1,piVar18[0x4f]);
          piVar14 = param_1;
          goto LAB_00044a00;
        }
        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;
      }
      goto LAB_0004361c;
    }
    if (0x1aff < iVar3) {
      if (iVar3 == 0x1b31) {
        if (param_4 != (int *)0x0) goto LAB_00043614;
        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
        if (0 < param_3) goto LAB_000454a0;
        piVar18[0x50] = param_1[0x97];
LAB_00043578:
        piVar14 = (int *)param_1[4];
        if (piVar14 != (int *)0x0) {
          (**(code **)(*piVar14 + 0x18))(piVar14,0);
        }
        param_1[0x98] = 0;
        if (piVar18[0x50] != 0) goto LAB_000435a8;
      }
      else {
        if (iVar3 == 0x1b43) goto joined_r0x0004422c;
        if (iVar3 != 0x1b18) goto LAB_00042f14;
        if (param_4 != (int *)0x0) goto LAB_00043614;
        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
        if (0 < param_3) goto LAB_0004440c;
        piVar18[0x50] = param_1[0x97];
LAB_000434e0:
        piVar14 = (int *)param_1[4];
        if (piVar14 != (int *)0x0) {
          (**(code **)(*piVar14 + 0x18))(piVar14,0);
        }
        param_1[0x98] = 0;
        if (piVar18[0x50] != 0) goto LAB_00043510;
      }
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;
      goto LAB_00045800;
    }
    if (iVar3 == 0x1a26) {
LAB_000439fc:
      puVar6 = PTR_DAT_000b2398;
      if (local_8c == (int *)0x0) {
        *piVar18 = 0x1a26;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      if (local_8c[2] == 0x14) {
        local_6c = 0xfffffffa;
        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);
        iVar3 = local_8c[6];
        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);
        param_1[0x26] = 0;
        puVar5 = PTR_LAB_000b2894;
        param_1[0x27] = 0;
        local_74 = 0;
        piVar18[0x12] = 0;
        piVar18[0x13] = 0;
        piVar18[0x14] = 0;
        piVar18[0x15] = 0;
        piVar18[0x18] = 0;
        piVar18[0x19] = 0;
        piVar18[4] = 0;
        piVar18[3] = 0;
        piVar18[6] = 0;
        piVar18[5] = 0;
        local_8c[6] = iVar3 + 0x10;
        piVar18[0x51] = 0;
        local_68 = piVar18;
        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,
              local_58 != 0) {
          if (local_74 == 4) {
            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {
LAB_00043b30:
              iVar16 = 0;
              piVar14 = local_68;
LAB_00043b44:
              iVar12 = piVar14[0x53];
              if (iVar12 == 0) goto LAB_00043b7c;
              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);
              if (iVar7 == 0) goto code_r0x00043b68;
              if (local_74 < 2) {
                if ((iVar16 != 0) ||
                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {
                  piVar18[0x51] = 0;
                }
                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;
                if (local_74 == 0) {
                  iVar3 = piVar18[iVar16 * 3 + 0x55];
                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];
                  piVar18[3] = iVar3;
LAB_000452b4:
                  if (local_74 == 7) {
                    if (piVar18[0x4c] != 0) {
                      (*(code *)PTR_logevent_000b242c)
                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);
                    }
                    (*pcVar28)(local_8c,&local_58,&local_54);
                    (*pcVar28)(local_8c,&local_58,&local_54);
                    iVar3 = local_8c[6];
                    if ((*local_8c - iVar3 < 1) ||
                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,
                       cVar1 == '\0')) {
                      uVar4 = 0;
                    }
                    else {
                      uVar4 = (uint)(piVar18[0x51] == 0);
                    }
                    iVar3 = param_1[0x26];
                    piVar18[0x52] = uVar4;
                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();
                    iVar16 = param_1[1];
                    param_1[3] = iVar3;
                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);
                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);
                    iVar3 = param_1[2];
                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);
                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);
                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],
                                 piVar18[0xd]);
                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);
                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);
                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);
                    if (piVar18[3] == 0) goto LAB_00043bfc;
                    piVar14 = (int *)param_1[4];
                    if (piVar14 != (int *)0x0) {
                      (**(code **)(*piVar14 + 0x18))(piVar14,1);
                    }
                    puVar6 = PTR_askalg_000b2974;
                    uVar22 = *(undefined4 *)param_1[0x26];
                    piVar14 = (int *)param_1[0x44];
                    puVar26 = PTR_LAB_000b28f8 + -0xf58;
                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;
                    param_1[0x98] = 1;
                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);
                    piVar18[0x50] = iVar3;
                    if (iVar3 < 0) goto LAB_00045494;
                    goto LAB_00043bcc;
                  }
                }
                else {
                  iVar12 = 0;
                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);
                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];
                  iVar3 = piVar18[iVar16 * 3 + 0x85];
                  param_1[0x27] = (int)puVar11;
                  piVar18[4] = iVar3;
                  param_1[0x1b2] = 0;
                  while( true ) {
                    if (((puVar11 != puVar26) &&
                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),
                        iVar3 != 0)) &&
                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)
                                          (param_1[0x3e],param_1[0x3f],
                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {
                      iVar3 = param_1[0x1b2];
                      param_1[0x1b2] = iVar3 + 1;
                      param_1[iVar3 + 0x1ac] = iVar12;
                    }
                    iVar12 = iVar12 + 1;
                    puVar19 = puVar19 + 2;
                    if (iVar12 == 6) break;
                    puVar26 = (undefined *)*puVar19;
                    puVar11 = (undefined *)param_1[0x27];
                  }
                }
              }
              else if (local_74 == 2) {
                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];
                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];
              }
              else if (local_74 == 3) {
                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];
                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];
              }
              else if (local_74 == 4) {
                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];
                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];
              }
              else if (local_74 == 5) {
                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];
                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];
              }
              else {
                if (local_74 != 6) {
                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];
                  goto LAB_000452b4;
                }
                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];
              }
            }
            else {
              iVar3 = *(int *)(iVar16 + 0x28);
              piVar18[0x14] = iVar16;
              piVar18[0x16] = (uint)(iVar3 != 0);
            }
          }
          else {
            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||
               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;
            iVar3 = *(int *)(iVar16 + 0x28);
            piVar18[0x15] = iVar16;
            piVar18[0x17] = (uint)(iVar3 != 0);
          }
          local_74 = local_74 + 1;
          local_68 = local_68 + 0x30;
          local_6c = local_6c + 1;
        }
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;
      }
      else {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;
      }
      goto LAB_0004361c;
    }
    if (iVar3 == 0x1abc) {
      if (param_4 != (int *)0x0) goto LAB_00043614;
      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
      if (0 < param_3) {
LAB_00045494:
        *piVar18 = 0x1abc;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      piVar18[0x50] = param_1[0x97];
LAB_00043bcc:
      piVar14 = (int *)param_1[4];
      if (piVar14 != (int *)0x0) {
        (**(code **)(*piVar14 + 0x18))(piVar14,0);
      }
      param_1[0x98] = 0;
      if (piVar18[0x50] == 0) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;
        goto LAB_00045800;
      }
LAB_00043bfc:
      if (piVar18[4] == 0) goto LAB_000443a0;
      piVar14 = (int *)param_1[4];
      if (piVar14 != (int *)0x0) {
        (**(code **)(*piVar14 + 0x18))(piVar14,1);
      }
      param_1[0x98] = 1;
      puVar6 = PTR_DAT_000b2398;
      if (param_1[0x1b2] < 1) {
        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);
        piVar23 = (int *)param_1[0x44];
LAB_00045b94:
        piVar14 = piVar23;
        iVar3 = (*(code *)PTR_askalg_000b2974)
                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,
                           PTR_LAB_000b28f8 + -0xf58,param_1);
        piVar18[0x50] = iVar3;
      }
      else {
        piVar29 = param_1 + 0x1ac;
        iVar3 = 0;
        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;
        piVar23 = (int *)0x0;
        do {
          iVar16 = *piVar29;
          iVar12 = 0;
          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),
                piVar14 = piVar23, iVar7 != 0) {
            iVar12 = iVar12 + 1;
            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {
              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);
              if (piVar23 == (int *)0x0) {
                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);
              }
              else {
                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);
                (*(code *)PTR_safefree_000b23d0)(piVar23);
              }
              break;
            }
            if (iVar12 == 5) break;
          }
          iVar3 = iVar3 + 1;
          piVar29 = piVar29 + 1;
          piVar23 = piVar14;
        } while (iVar3 < param_1[0x1b2]);
        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);
        piVar23 = (int *)param_1[0x44];
        if (piVar14 == (int *)0x0) goto LAB_00045b94;
        iVar3 = (*(code *)PTR_askhk_000b297c)
                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);
        puVar6 = PTR_safefree_000b23d0;
        piVar18[0x50] = iVar3;
        (*(code *)puVar6)();
        iVar3 = piVar18[0x50];
      }
      if (-1 < iVar3) goto LAB_00044370;
      goto LAB_00043d00;
    }
    if (iVar3 == 0) {
      uVar4 = param_1[0x14];
      piVar18[0x13] = 0;
      piVar18[0x12] = 0;
      piVar18[0x15] = 0;
      piVar18[0x14] = 0;
      piVar18[0x19] = 0;
      piVar18[0x18] = 0;
      piVar18[0x4e] = 0;
      piVar18[0x4d] = 0;
      piVar18[0x4b] = 0;
      piVar18[0x4c] = 0;
      if ((uVar4 & 2) == 0) {
        piVar18[0x11] = 4;
        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);
      }
      else {
        piVar18[0x11] = 3;
        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);
      }
LAB_000448a0:
      puVar6 = PTR_s_acket_from_server___s_000b23a8;
      iVar3 = 0;
      param_1[0x61] = 0;
      piVar18[0x35] = 0;
      do {
        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);
        if (uVar4 < 6) {
                    /* WARNING: Could not emulate address calculation at 0x000448e4 */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();
          return;
        }
        iVar3 = iVar3 + 1;
      } while (iVar3 != 6);
      iVar3 = 0;
      piVar18[0x3c] = 0;
      do {
        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);
        if ((iVar16 == 0) && (iVar3 == 4)) break;
        iVar12 = piVar18[0x3c];
        iVar3 = iVar3 + 1;
        piVar18[0x3c] = iVar12 + 1;
        piVar18[iVar12 + 0x3d] = iVar16;
      } while (iVar3 != 5);
      puVar6 = PTR_s_acket_from_server___s_000b23a8;
      iVar3 = 0;
      piVar18[0x42] = 0;
      do {
        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);
        if (uVar4 < 7) {
                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();
          return;
        }
        iVar3 = iVar3 + 1;
      } while (iVar3 != 7);
      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);
      puVar6 = PTR_ssh_zlib_000b2978;
      if (iVar3 == 0) {
        puVar6 = PTR_DAT_000b2398 + 0x1240;
      }
      piVar18[0x4a] = (int)puVar6;
      piVar23 = piVar18 + 0x83;
      param_1[0x59] = 1;
      param_1[0x1a5] = 1;
      piVar14 = piVar23;
      do {
        piVar29 = piVar14 + -0x30;
        do {
          *piVar29 = 0;
          piVar29 = piVar29 + 3;
        } while (piVar14 != piVar29);
        piVar14 = piVar14 + 0x30;
      } while (piVar18 + 0x203 != piVar14);
      iVar3 = piVar18[0x35];
      if (0 < iVar3) {
        piVar14 = piVar18 + 0x36;
        uVar22 = 0;
        iVar16 = 0;
        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);
        do {
          piVar29 = (int *)*piVar14;
          if (piVar29 == (int *)0x0) {
            uVar22 = 1;
          }
          else {
            iVar12 = 0;
            if (0 < *piVar29) {
              iVar3 = piVar29[1];
              do {
                iVar24 = iVar12 * 4;
                iVar12 = iVar12 + 1;
                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));
                iVar3 = piVar29[1];
                iVar13 = *piVar29;
                uVar17 = *(undefined4 *)(iVar3 + iVar24);
                *(undefined4 *)(iVar7 + 8) = uVar22;
                *(undefined4 *)(iVar7 + 4) = uVar17;
              } while (iVar12 < iVar13);
              iVar3 = piVar18[0x35];
            }
          }
          iVar16 = iVar16 + 1;
          piVar14 = piVar14 + 1;
        } while (iVar16 < iVar3);
      }
      if (piVar18[0x4d] == 0) {
        if (0 < piVar18[0x3c]) {
          piVar30 = piVar18 + 0x3d;
          local_90 = 0;
          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);
          local_74 = 0;
          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);
          piVar14 = piVar30;
          do {
            iVar3 = *piVar14;
            iVar16 = 4;
            piVar27 = piVar29;
            if (iVar3 == 0) {
              local_90 = 1;
            }
            while( true ) {
              if (iVar16 == iVar3) {
                iVar16 = *piVar27;
                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)
                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));
                if (iVar3 != 0) {
                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));
                  *(int *)(iVar3 + 4) = iVar16;
                  *(int *)(iVar3 + 8) = local_90;
                }
              }
              if (piVar25 == piVar27 + 2) break;
              iVar16 = piVar27[3];
              iVar3 = *piVar14;
              piVar27 = piVar27 + 2;
            }
            local_74 = local_74 + 1;
            piVar14 = piVar14 + 1;
          } while ((int)local_74 < piVar18[0x3c]);
          if (0 < piVar18[0x3c]) {
            iVar3 = 0;
            uVar22 = 0;
            do {
              iVar16 = *piVar30;
              iVar12 = 4;
              piVar14 = piVar29;
              if (iVar16 == 0) {
                uVar22 = 1;
              }
              while( true ) {
                if (iVar16 == iVar12) {
                  iVar12 = *piVar14;
                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));
                  *(int *)(iVar16 + 4) = iVar12;
                  *(undefined4 *)(iVar16 + 8) = uVar22;
                }
                if (piVar25 == piVar14 + 2) break;
                iVar12 = piVar14[3];
                iVar16 = *piVar30;
                piVar14 = piVar14 + 2;
              }
              iVar3 = iVar3 + 1;
              piVar30 = piVar30 + 1;
            } while (iVar3 < piVar18[0x3c]);
          }
        }
      }
      else {
        if (param_1[0x26] == 0) {
          (*(code *)PTR___assert_fail_000b2d2c)
                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,
                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,
                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
          return;
        }
        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));
        iVar16 = param_1[0x27];
        *(undefined4 *)(iVar3 + 8) = 0;
        *(int *)(iVar3 + 4) = iVar16;
      }
      piVar14 = piVar18 + 0x113;
      iVar3 = piVar18[0x42];
      piVar23 = piVar18 + 0xb3;
      do {
        piVar29 = piVar18 + 0x43;
        if (0 < iVar3) {
          local_90 = 0;
          uVar22 = 0;
          do {
            piVar30 = (int *)*piVar29;
            if (piVar30 == (int *)0x0) {
              uVar22 = 1;
            }
            else {
              iVar16 = 0;
              if (0 < *piVar30) {
                iVar3 = piVar30[1];
                do {
                  iVar13 = iVar16 * 4;
                  iVar16 = iVar16 + 1;
                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));
                  iVar3 = piVar30[1];
                  iVar7 = *piVar30;
                  uVar17 = *(undefined4 *)(iVar3 + iVar13);
                  *(undefined4 *)(iVar12 + 8) = uVar22;
                  *(undefined4 *)(iVar12 + 4) = uVar17;
                } while (iVar16 < iVar7);
                iVar3 = piVar18[0x42];
              }
            }
            local_90 = local_90 + 1;
            piVar29 = piVar29 + 1;
          } while (local_90 < iVar3);
        }
        piVar23 = piVar23 + 0x30;
      } while (piVar14 != piVar23);
      iVar3 = piVar18[0x11];
      do {
        iVar16 = 0;
        if (0 < iVar3) {
          iVar12 = piVar18[0x10];
          do {
            iVar13 = iVar16 * 4;
            iVar16 = iVar16 + 1;
            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));
            iVar12 = piVar18[0x10];
            iVar3 = piVar18[0x11];
            uVar22 = *(undefined4 *)(iVar12 + iVar13);
            *(undefined4 *)(iVar7 + 8) = 0;
            *(undefined4 *)(iVar7 + 4) = uVar22;
          } while (iVar16 < iVar3);
          if (0 < iVar3) {
            iVar7 = 0;
            iVar16 = 0;
            do {
              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {
                iVar13 = FUN_0003abdc(piVar14);
                iVar12 = piVar18[0x10];
                iVar3 = piVar18[0x11];
                uVar22 = *(undefined4 *)(iVar12 + iVar16);
                *(undefined4 *)(iVar13 + 8) = 1;
                *(undefined4 *)(iVar13 + 4) = uVar22;
              }
              iVar7 = iVar7 + 1;
              iVar16 = iVar7 * 4;
            } while (iVar7 < iVar3);
          }
        }
        puVar6 = PTR_ssh_zlib_000b2978;
        piVar14 = piVar14 + 0x30;
      } while (piVar18 + 0x173 != piVar14);
      puVar26 = PTR_DAT_000b2398 + 0x1240;
      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;
      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;
      piVar14 = piVar18 + 0x173;
      do {
        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);
        iVar16 = piVar18[0x4a];
        iVar12 = piVar18[0x4b];
        *(int *)(iVar3 + 4) = iVar16;
        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {
          iVar3 = FUN_0003abdc(piVar14);
          *(int *)(iVar3 + 4) = piVar18[0x4a];
        }
        iVar3 = FUN_0003abdc(piVar14,uVar22);
        iVar16 = piVar18[0x4b];
        *(undefined **)(iVar3 + 4) = puVar6;
        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {
          iVar3 = FUN_0003abdc(piVar14);
          *(undefined **)(iVar3 + 4) = puVar6;
        }
        piVar23 = piVar14 + 0x30;
        iVar3 = FUN_0003abdc(piVar14,puVar5);
        *(undefined **)(iVar3 + 4) = puVar26;
        piVar14 = piVar23;
      } while (piVar18 + 0x1d3 != piVar23);
      iVar16 = 0x10;
      iVar3 = FUN_0003b04c(0x14);
      piVar18[0x4f] = iVar3;
      while( true ) {
        iVar16 = iVar16 + -1;
        uVar9 = (*(code *)PTR_random_byte_000b28d4)();
        local_54 = CONCAT13(uVar9,local_54._1_3_);
        FUN_0003aef4(iVar3,&local_54,1);
        if (iVar16 == 0) break;
        iVar3 = piVar18[0x4f];
      }
      piVar14 = piVar18 + 0x30;
      piVar23 = (int *)piVar18[0x4f];
      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;
      do {
        local_30 = 0;
        FUN_0003aef4(piVar23,&local_30,4);
        piVar29 = piVar14 + -0x30;
        piVar23[6] = *piVar23;
        do {
          iVar3 = piVar29[0x53];
          piVar23 = (int *)piVar18[0x4f];
          if (iVar3 == 0) goto LAB_00043918;
          if (0 < *piVar23 - piVar23[6]) {
            FUN_0003b124(piVar23,puVar6,1);
          }
          piVar29 = piVar29 + 3;
          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);
          FUN_0003b124(piVar23,iVar3,uVar22);
        } while (piVar14 != piVar29);
        piVar23 = (int *)piVar18[0x4f];
LAB_00043918:
        piVar14 = piVar14 + 0x30;
      } while (piVar18 + 0x1b0 != piVar14);
      local_30 = 0;
      FUN_0003aef4(piVar23,&local_30,4);
      puVar19 = (undefined4 *)piVar18[0x4f];
      piVar23[6] = *piVar23;
      local_30 = 0;
      FUN_0003aef4(puVar19,&local_30,4);
      iVar3 = piVar18[0x4f];
      puVar19[6] = *puVar19;
      local_54 = local_54 & 0xffffff;
      FUN_0003aef4(iVar3,&local_54,1);
      local_30 = 0;
      FUN_0003aef4(piVar18[0x4f],&local_30,4);
      puVar6 = PTR_safemalloc_000b2408;
      iVar3 = *(int *)piVar18[0x4f];
      piVar18[0xd] = iVar3 + -5;
      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);
      piVar18[0xc] = iVar3;
      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);
      piVar14 = param_1;
      FUN_00046280(param_1,piVar18[0x4f]);
      goto LAB_000439fc;
    }
  }
LAB_00042f14:
  *piVar18 = 0;
  param_1 = piVar14;
LAB_00042f18:
  if (local_2c == *(int *)puVar2) {
    return;
  }
  puVar15 = PTR___stack_chk_fail_000b2ed8;
  (*(code *)PTR___stack_chk_fail_000b2ed8)();
  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);
  param_1[0x5c] = 0;
  pcVar28 = *(code **)(puVar15 + 0x6c288);
  param_1[0x5b] = 0;
  (*pcVar28)(param_1[0x5a]);
  param_1[0x5a] = 0;
  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {
    param_1[0x69] = 1;
    param_1[0x68] = iVar3;
    if (param_1[0x49] != 0) {
      FUN_000492b0(param_1,1);
    }
  }
  if (param_1[0x66] == 2) {
    iVar3 = param_1[0x1a2];
    iVar16 = param_1[0x1a3];
    param_1[0x1a3] = 0;
    param_1[0x1a2] = iVar3 + iVar16;
    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&
       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {
      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);
      return;
    }
  }
  return;
LAB_000456a8:
  if (iVar3 != 0) {
    if (iVar16 < 2) {
      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;
    }
    else {
      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;
    }
    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);
    (*(code *)PTR_safefree_000b23d0)(iVar3);
  }
  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);
  iVar16 = param_1[0x44];
  piVar18[0x1e] = iVar3;
  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);
  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);
  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);
  piVar18[0x50] = iVar3;
  if (iVar3 == 0) {
    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;
    goto LAB_0004361c;
  }
  if (iVar3 < 0) {
    piVar14 = (int *)param_1[4];
    if (piVar14 != (int *)0x0) {
      (**(code **)(*piVar14 + 0x18))(piVar14,1);
    }
    puVar15 = PTR_verify_ssh_host_key_000b2a00;
    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);
    puVar6 = PTR_LAB_000b28f8 + -0xf58;
    iVar3 = piVar18[0x1e];
    piVar14 = (int *)param_1[0x44];
    param_1[0x98] = 1;
    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6
                               ,param_1);
    piVar18[0x50] = iVar3;
    if (iVar3 < 0) {
LAB_000457e0:
      *piVar18 = 0x1cf9;
      param_1 = piVar14;
      goto LAB_00042f18;
    }
LAB_00043094:
    piVar14 = (int *)param_1[4];
    if (piVar14 != (int *)0x0) {
      (**(code **)(*piVar14 + 0x18))(piVar14,0);
    }
    param_1[0x98] = 0;
    if (piVar18[0x50] == 0) {
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;
LAB_00045800:
      FUN_00047994(param_1,puVar15,0,0,1);
      *piVar18 = 0;
      goto LAB_00042f18;
    }
  }
  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);
  param_1[0x28] = piVar18[0x1d];
LAB_000430d8:
  iVar3 = param_1[0x27];
LAB_000430dc:
  (**(code **)(iVar3 + 4))(piVar18[0x22]);
  if (piVar18[0x4d] == 0) {
    piVar23 = piVar18 + 0x25;
    piVar14 = param_1 + 0x29;
    do {
      iVar7 = *piVar23;
      iVar12 = piVar23[1];
      iVar16 = piVar23[2];
      iVar3 = piVar23[3];
      piVar23 = piVar23 + 4;
      *piVar14 = iVar7;
      piVar14[1] = iVar12;
      piVar14[2] = iVar16;
      piVar14[3] = iVar3;
      piVar14 = piVar14 + 4;
    } while (piVar23 != piVar18 + 0x35);
    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);
    param_1[0x39] = uVar4;
    if (0x40 < uVar4) {
      (*(code *)PTR___assert_fail_000b2d2c)
                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,
                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,
                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
      return;
    }
    piVar18[0x4d] = 1;
  }
  iVar3 = FUN_0003b04c(0x15);
  piVar18[0x4f] = iVar3;
  FUN_00046280(param_1,iVar3);
  param_1[0x1a2] = 0;
  if (param_1[0x1a] != 0) {
    (**(code **)(param_1[0x18] + 4))();
  }
  puVar19 = (undefined4 *)piVar18[0x12];
  param_1[0x18] = (int)puVar19;
  if (puVar19 != (undefined4 *)0x0) {
    iVar3 = (*(code *)*puVar19)();
    param_1[0x1a] = iVar3;
  }
  if (param_1[0x20] != 0) {
    (**(code **)(param_1[0x1c] + 4))();
  }
  puVar19 = (undefined4 *)piVar18[0x14];
  iVar3 = piVar18[0x16];
  param_1[0x1c] = (int)puVar19;
  param_1[0x1e] = iVar3;
  if (puVar19 != (undefined4 *)0x0) {
    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);
    param_1[0x20] = iVar3;
  }
  if (param_1[0x24] != 0) {
    (**(code **)(param_1[0x22] + 0xc))();
  }
  iVar3 = piVar18[0x18];
  param_1[0x22] = iVar3;
  iVar3 = (**(code **)(iVar3 + 8))();
  param_1[0x24] = iVar3;
  if (param_1[0x18] != 0) {
    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,
                          *(undefined4 *)(param_1[0x18] + 0x2c));
    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);
    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));
    (*(code *)PTR_safefree_000b23d0)(uVar22);
    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,
                          *(undefined4 *)(param_1[0x18] + 0x24));
    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);
    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));
    (*(code *)PTR_safefree_000b23d0)(uVar22);
  }
  if (param_1[0x1c] == 0) {
    iVar3 = param_1[0x18];
    if (iVar3 != 0) goto LAB_0004339c;
    iVar3 = param_1[0x22];
  }
  else {
    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,
                          *(undefined4 *)(param_1[0x1c] + 0x30));
    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);
    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));
    (*(code *)PTR_safefree_000b23d0)(uVar22);
    iVar3 = param_1[0x18];
    if (iVar3 != 0) {
LAB_0004339c:
      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,
                   *(undefined4 *)(iVar3 + 0x34));
    }
    if (param_1[0x1c] != 0) {
      if (param_1[0x1e] == 0) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
      }
      else {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;
      }
      if (*(int *)(param_1[0x18] + 0x38) == 0) {
        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
      }
      else {
        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;
      }
      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,
                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);
    }
    iVar3 = param_1[0x22];
  }
  if (*(int *)(iVar3 + 0x24) != 0) {
    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);
  }
  param_1[0x59] = 0;
  if (0 < param_1[0x57]) {
    local_80 = 0;
    do {
      iVar3 = local_80 * 4;
      local_80 = local_80 + 1;
      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);
    } while (local_80 < param_1[0x57]);
  }
  param_1[0x57] = 0;
  FUN_00046148();
  piVar14 = param_1;
LAB_000434a4:
  *piVar18 = 0x1d8a;
  param_1 = piVar14;
  goto LAB_00042f18;
code_r0x00043b68:
  if ((local_6c < 2) &&
     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {
    piVar18[0x4c] = 1;
  }
  iVar16 = iVar16 + 1;
  piVar14 = piVar14 + 3;
  if (iVar16 == 0x10) {
LAB_00043b7c:
    uVar22 = (*(code *)PTR_dupprintf_000b2404)
                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3
                       );
    goto LAB_00043628;
  }
  goto LAB_00043b44;
}


lui gp,0x7
addiu gp,gp,0x7584
addu gp,gp,t9
addiu sp,sp,-0xb8
lw v0,-0x746c(gp)
lw v1,-0x7fc8(gp)
sw s2,0x98(sp)
or s2,a1,zero
sw s1,0x94(sp)
or s1,a0,zero
sw v0,0x30(sp)
addiu a0,v1,0x58b0
sw v1,0x40(sp)
lw a1,-0x7fc8(gp)
sw s0,0x90(sp)
sw gp,0x20(sp)
addiu v1,a1,0x58c8
sw a1,0x3c(sp)
lw a1,0x0(v0)
lw v0,-0x7fc8(gp)
lw s0,0x1cc(s1)
sw ra,0xb4(sp)
addiu v0,v0,0x5884
sw s8,0xb0(sp)
sw s7,0xac(sp)
sw v0,0x68(sp)
lw v0,-0x7fc8(gp)
sw s6,0xa8(sp)
sw s5,0xa4(sp)
addiu v0,v0,0x589c
sw s4,0xa0(sp)
sw s3,0x9c(sp)
sw v0,0x6c(sp)
lw v0,-0x7fc8(gp)
sw a3,0x2c(sp)
sw a1,0x8c(sp)
addiu v0,v0,0x58e0
sw a0,0x70(sp)
sw v1,0x74(sp)
sw v0,0x78(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x58f8
sw v0,0x7c(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x5910
sw v0,0x80(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x5934
beq s0,zero,0x00043644
_sw v0,0x84(sp)
lw v0,0xec(s1)
bne v0,zero,0x000460f4
_sw v0,0x38(sp)
lw v1,0x198(s1)
li v0,0x2
bne v1,v0,0x00046118
_li v1,0x1b73
lw v0,0x0(s0)
beq v0,v1,0x00043d08
_slti v1,v0,0x1b74
beq v1,zero,0x00042f58
_li v1,0x1c91
li v1,0x1aff
beq v0,v1,0x00044354
_slti v1,v0,0x1b00
beq v1,zero,0x000434b0
_li v1,0x1b31
li v1,0x1a26
beq v0,v1,0x000439fc
_li v1,0x1abc
beq v0,v1,0x00043bb0
_nop
beq v0,zero,0x000435bc
_nop
sw zero,0x0(s0)
lw v0,0x30(sp)
lw v1,0x8c(sp)
lw v0,0x0(v0)
bne v1,v0,0x0004613c
_lw ra,0xb4(sp)
lw s8,0xb0(sp)
lw s7,0xac(sp)
lw s6,0xa8(sp)
lw s5,0xa4(sp)
lw s4,0xa0(sp)
lw s3,0x9c(sp)
lw s2,0x98(sp)
lw s1,0x94(sp)
lw s0,0x90(sp)
jr ra
_addiu sp,sp,0xb8
beq v0,v1,0x00044414
_slti v1,v0,0x1c92
beq v1,zero,0x00043064
_li v1,0x1d8a
li v1,0x1bec
beq v0,v1,0x00043edc
_li v1,0x1c2a
beq v0,v1,0x00044050
_li v1,0x1b96
bne v0,v1,0x00042f14
_lw v0,0x2c(sp)
beq v0,zero,0x00043e9c
_nop
lw v1,0x8(v0)
lw v0,0x3c(s0)
bne v1,v0,0x00044de0
_lw a0,-0x7fc8(gp)
lw t9,-0x7a04(gp)
li a1,0x2
jalr t9
_lw a0,0x110(s1)
addiu a1,s0,0x68
lw gp,0x20(sp)
addiu a2,s0,0x7c
lw s2,-0x7c10(gp)
addiu s2,s2,0x7704
or t9,s2,zero
bal 0x00037704
_lw a0,0x2c(sp)
lw a1,0x68(s0)
beq a1,zero,0x000459b4
_lw gp,0x20(sp)
lw v0,0x9c(s1)
lw a2,0x7c(s0)
lw t9,0x0(v0)
jalr t9
_or a0,v0,zero
lw gp,0x20(sp)
lw a0,0x2c(sp)
lw t9,-0x7c10(gp)
addiu t9,t9,0x7b74
bal 0x00037b74
_sw v0,0x88(s0)
lw gp,0x20(sp)
beq v0,zero,0x000459b4
_sw v0,0x28(s0)
lw a0,0x2c(sp)
addiu a2,s0,0x80
or t9,s2,zero
bal 0x00037704
_addiu a1,s0,0x6c
lw v0,0x6c(s0)
beq v0,zero,0x000459b4
_lw gp,0x20(sp)
lw t9,-0x7a00(gp)
lw a1,0x28(s0)
bal 0x0006002c
_lw a0,0xe8(s1)
beq v0,zero,0x00045a54
_lw gp,0x20(sp)
lw a0,-0x7fc8(gp)
or a1,v0,zero
lw t9,-0x7f6c(gp)
jalr t9
_addiu a0,a0,0x5c34
b 0x00043628
_lw gp,0x20(sp)
beq v0,v1,0x0004459c
_li v1,0x1e09
beq v0,v1,0x00043ea8
_li v1,0x1cf9
bne v0,v1,0x00042f14
_lw v0,0x2c(sp)
bne v0,zero,0x00044e3c
_lw a0,-0x7fc8(gp)
bgtz a2,0x000457e0
_li v0,0x1cf9
lw v0,0x25c(s1)
sw v0,0x140(s0)
lw a0,0x10(s1)
beq a0,zero,0x000430b4
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_or a1,zero,zero
lw gp,0x20(sp)
sw zero,0x260(s1)
lw v0,0x140(s0)
beq v0,zero,0x00045cf4
_lw a1,-0x7fc8(gp)
lw t9,-0x7fa0(gp)
jalr t9
_lw a0,0x78(s0)
lw v0,0x74(s0)
sw v0,0xa0(s1)
lw v0,0x9c(s1)
lw t9,0x4(v0)
jalr t9
_lw a0,0x88(s0)
lw v0,0x134(s0)
bne v0,zero,0x0004316c
_lw gp,0x20(sp)
addiu v1,s0,0x94
addiu v0,s1,0xa4
addiu t0,s0,0xd4
lwl a3,0x0(v1)
lwl a2,0x4(v1)
lwl a1,0x8(v1)
lwl a0,0xc(v1)
lwr a3,0x3(v1)
lwr a2,0x7(v1)
lwr a1,0xb(v1)
lwr a0,0xf(v1)
addiu v1,v1,0x10
swl a3,0x0(v0)
swr a3,0x3(v0)
swl a2,0x4(v0)
swr a2,0x7(v0)
swl a1,0x8(v0)
swr a1,0xb(v0)
swl a0,0xc(v0)
swr a0,0xf(v0)
bne v1,t0,0x00043100
_addiu v0,v0,0x10
lw v0,0x98(s1)
lw v0,0xc(v0)
lw v0,0x14(v0)
sltiu v1,v0,0x41
beq v1,zero,0x00046088
_sw v0,0xe4(s1)
li v0,0x1
sw v0,0x134(s0)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4fb4
bal 0x0003b04c
_li a0,0x15
or a0,s1,zero
lw gp,0x20(sp)
or a1,v0,zero
lw t9,-0x7adc(gp)
addiu t9,t9,0x6280
bal 0x00046280
_sw v0,0x13c(s0)
lw a0,0x68(s1)
beq a0,zero,0x000431b4
_sw zero,0x688(s1)
lw v0,0x60(s1)
lw t9,0x4(v0)
jalr t9
_nop
lw v0,0x48(s0)
beq v0,zero,0x000431d0
_sw v0,0x60(s1)
lw t9,0x0(v0)
jalr t9
_nop
sw v0,0x68(s1)
lw a0,0x80(s1)
beq a0,zero,0x000431ec
_nop
lw v0,0x70(s1)
lw t9,0x4(v0)
jalr t9
_nop
lw v0,0x50(s0)
lw v1,0x58(s0)
sw v0,0x70(s1)
beq v0,zero,0x00043210
_sw v1,0x78(s1)
lw t9,0x0(v0)
jalr t9
_lw a0,0x68(s1)
sw v0,0x80(s1)
lw a0,0x90(s1)
beq a0,zero,0x0004322c
_nop
lw v0,0x88(s1)
lw t9,0xc(v0)
jalr t9
_nop
lw v0,0x60(s0)
sw v0,0x88(s1)
lw t9,0x8(v0)
jalr t9
_nop
lw v1,0x60(s1)
lw gp,0x20(sp)
beq v1,zero,0x00043324
_sw v0,0x90(s1)
lw s2,-0x7adc(gp)
addiu s3,s0,0x94
lw v0,0x2c(v1)
li a3,0x43
lw a1,0x2c(s0)
or a2,s3,zero
addiu s2,s2,-0x5cd8
or a0,s1,zero
or t9,s2,zero
bal 0x0003a328
_sw v0,0x10(sp)
lw v1,0x60(s1)
or a1,v0,zero
lw a0,0x68(s1)
lw t9,0xc(v1)
jalr t9
_or s4,v0,zero
or a0,s4,zero
lw v0,0x60(s1)
lw gp,0x20(sp)
lw t9,-0x7f10(gp)
jalr t9
_lw a1,0x2c(v0)
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s4,zero
li a3,0x41
lw v0,0x60(s1)
or a2,s3,zero
lw a1,0x2c(s0)
or t9,s2,zero
or a0,s1,zero
lw v0,0x24(v0)
bal 0x0003a328
_sw v0,0x10(sp)
lw v1,0x60(s1)
or a1,v0,zero
lw a0,0x68(s1)
lw t9,0x8(v1)
jalr t9
_or s2,v0,zero
or a0,s2,zero
lw gp,0x20(sp)
lw v0,0x60(s1)
lw t9,-0x7f10(gp)
jalr t9
_lw a1,0x24(v0)
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s2,zero
lw gp,0x20(sp)
lw v0,0x70(s1)
beq v0,zero,0x0004581c
_lw t9,-0x7adc(gp)
li a3,0x45
lw v0,0x30(v0)
addiu a2,s0,0x94
lw a1,0x2c(s0)
or a0,s1,zero
addiu t9,t9,-0x5cd8
bal 0x0003a328
_sw v0,0x10(sp)
lw v1,0x70(s1)
or a1,v0,zero
lw a0,0x80(s1)
lw t9,0x8(v1)
jalr t9
_or s2,v0,zero
or a0,s2,zero
lw v0,0x70(s1)
lw gp,0x20(sp)
lw t9,-0x7f10(gp)
jalr t9
_lw a1,0x30(v0)
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s2,zero
lw v0,0x60(s1)
beq v0,zero,0x000433bc
_lw gp,0x20(sp)
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7c10(gp)
lw a2,0x34(v0)
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x60e0
lw gp,0x20(sp)
lw v0,0x70(s1)
beq v0,zero,0x00043414
_nop
lw v1,0x78(s1)
bne v1,zero,0x000458d0
_lw a2,0x34(v0)
lw a3,-0x7fc8(gp)
addiu a3,a3,0x4f64
lw v0,0x60(s1)
lw v0,0x38(v0)
beq v0,zero,0x000459e0
_lw v0,-0x7fc8(gp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x586c
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7c10(gp)
sw v0,0x10(sp)
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x6110
lw gp,0x20(sp)
lw v0,0x88(s1)
lw a2,0x24(v0)
beq a2,zero,0x0004343c
_or a0,s1,zero
lw a1,-0x7fc8(gp)
lw t9,-0x7c10(gp)
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x6144
lw gp,0x20(sp)
lw v0,0x15c(s1)
blez v0,0x0004348c
_sw zero,0x164(s1)
lw s2,-0x7adc(gp)
addiu s2,s2,-0x3f38
lw a1,0x38(sp)
or a2,zero,zero
lw v0,0x158(s1)
or a0,s1,zero
or t9,s2,zero
sll v1,a1,0x2
addiu s3,a1,0x1
addu v0,v0,v1
sw s3,0x38(sp)
bal 0x0003c0c8
_lw a1,0x0(v0)
lw v0,0x15c(s1)
slt v0,s3,v0
bne v0,zero,0x00043450
_lw gp,0x20(sp)
lw t9,-0x7adc(gp)
or a0,s1,zero
addiu t9,t9,0x6148
bal 0x00046148
_sw zero,0x15c(s1)
lw gp,0x20(sp)
li v0,0x1d8a
b 0x00042f18
_sw v0,0x0(s0)
beq v0,v1,0x00043608
_li v1,0x1b43
beq v0,v1,0x00044228
_li v1,0x1b18
bne v0,v1,0x00042f14
_lw v0,0x2c(sp)
bne v0,zero,0x00043614
_lw a0,-0x7fc8(gp)
bgtz a2,0x0004440c
_li v0,0x1b18
lw v0,0x25c(s1)
sw v0,0x140(s0)
lw a0,0x10(s1)
beq a0,zero,0x00043500
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_or a1,zero,zero
lw gp,0x20(sp)
sw zero,0x260(s1)
lw v0,0x140(s0)
beq v0,zero,0x000457e8
_nop
lw v0,0x18(s0)
beq v0,zero,0x000435a8
_nop
lw a0,0x10(s1)
beq a0,zero,0x0004353c
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_li a1,0x1
lw gp,0x20(sp)
lw v0,0x4c(s0)
lw a3,-0x7a78(gp)
lw v1,0x3c(sp)
lw t9,-0x79fc(gp)
lw a2,0x20(v0)
li v0,0x1
lw a0,0x110(s1)
addiu a1,v1,0x58c8
addiu a3,a3,-0xf58
sw v0,0x260(s1)
jalr t9
_sw s1,0x10(sp)
lw gp,0x20(sp)
bltz v0,0x0004549c
_sw v0,0x140(s0)
lw a0,0x10(s1)
beq a0,zero,0x00043598
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_or a1,zero,zero
lw gp,0x20(sp)
sw zero,0x260(s1)
lw v0,0x140(s0)
beq v0,zero,0x000457e8
_nop
lw v0,0x148(s0)
beq v0,zero,0x00044234
_li v0,0x1b43
b 0x00042f18
_sw v0,0x0(s0)
lw v0,0x50(s1)
sw zero,0x4c(s0)
sw zero,0x48(s0)
andi v0,v0,0x2
sw zero,0x54(s0)
sw zero,0x50(s0)
sw zero,0x64(s0)
sw zero,0x60(s0)
sw zero,0x138(s0)
sw zero,0x134(s0)
sw zero,0x12c(s0)
beq v0,zero,0x00044dc8
_sw zero,0x130(s0)
li v0,0x3
sw v0,0x44(s0)
lw v0,-0x7fd8(gp)
addiu v0,v0,0x1ebc
b 0x000448a0
_sw v0,0x40(s0)
lw v0,0x2c(sp)
beq v0,zero,0x00044db4
_lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
addiu a0,a0,0x5a44
jalr t9
_nop
lw gp,0x20(sp)
lw t9,-0x7adc(gp)
or a0,s1,zero
addiu t9,t9,-0x7dd4
bal 0x0003822c
_or a1,v0,zero
b 0x00042f14
_lw gp,0x20(sp)
lw t9,-0x7f68(gp)
li a1,0x74c
li a0,0x1
jalr t9
_sw a2,0xc0(sp)
lw gp,0x20(sp)
or s0,v0,zero
lw a2,0xc0(sp)
sw v0,0x1cc(s1)
b 0x00042eb4
_sw zero,0x0(v0)
lw v0,0x34(sp)
addiu s4,s4,0xc0
bne v0,s4,0x0004508c
_nop
lw a0,0x44(s0)
addiu s7,s0,0x5cc
li s4,0x1
or s3,v0,zero
blez a0,0x0004373c
_or s5,zero,zero
lw a1,0x40(s0)
sll s6,s5,0x2
or a0,s3,zero
addu a1,a1,s6
or t9,s2,zero
addiu s5,s5,0x1
lw v0,0x0(a1)
bal 0x0003abdc
_lw a1,0x24(v0)
lw v1,0x40(s0)
lw a0,0x44(s0)
lw gp,0x20(sp)
addu s6,v1,s6
slt a3,s5,a0
or a1,v1,zero
lw t0,0x0(s6)
sw zero,0x8(v0)
bne a3,zero,0x0004369c
_sw t0,0x4(v0)
blez a0,0x0004373c
_nop
or s6,zero,zero
sll s5,s6,0x2
addu v0,v1,s5
lw v0,0x0(v0)
lw a1,0x28(v0)
beq a1,zero,0x0004372c
_or t9,s2,zero
bal 0x0003abdc
_or a0,s3,zero
lw v1,0x40(s0)
lw gp,0x20(sp)
lw a0,0x44(s0)
addu a2,v1,s5
lw a1,0x0(a2)
sw s4,0x8(v0)
sw a1,0x4(v0)
addiu s6,s6,0x1
slt v0,s6,a0
bne v0,zero,0x000436f4
_sll s5,s6,0x2
addiu s3,s3,0xc0
bne s7,s3,0x00043690
_lw v0,-0x7fd8(gp)
or s5,s7,zero
lw s3,-0x79f8(gp)
addiu s4,s0,0x74c
addiu s7,v0,0x1240
lw v0,-0x7fc8(gp)
lw s6,0x0(s3)
addiu v0,v0,0x4ea4
or s8,v0,zero
lw v0,0x128(s0)
or a0,s5,zero
or t9,s2,zero
bal 0x0003abdc
_lw a1,0x0(v0)
lw a0,0x128(s0)
lw a1,0x12c(s0)
beq a1,zero,0x000437a8
_sw a0,0x4(v0)
lw a1,0x4(a0)
beq a1,zero,0x000437a8
_or t9,s2,zero
bal 0x0003abdc
_or a0,s5,zero
lw a0,0x128(s0)
sw a0,0x4(v0)
or a0,s5,zero
or t9,s2,zero
bal 0x0003abdc
_or a1,s6,zero
lw a0,0x12c(s0)
beq a0,zero,0x000437dc
_sw s3,0x4(v0)
lw a1,0x4(s3)
beq a1,zero,0x000437dc
_or t9,s2,zero
bal 0x0003abdc
_or a0,s5,zero
sw s3,0x4(v0)
or a0,s5,zero
or a1,s8,zero
or t9,s2,zero
bal 0x0003abdc
_addiu s5,s5,0xc0
lw gp,0x20(sp)
bne s4,s5,0x00043768
_sw s7,0x4(v0)
lw t9,-0x7adc(gp)
addiu v0,sp,0x64
li a0,0x14
sw v0,0x34(sp)
addiu t9,t9,-0x4fb4
bal 0x0003b04c
_li s2,0x10
lw gp,0x20(sp)
or s3,v0,zero
sw v0,0x13c(s0)
lw v0,-0x7adc(gp)
b 0x00043834
_addiu s7,v0,-0x510c
lw s3,0x13c(s0)
lw t9,-0x7a9c(gp)
jalr t9
_addiu s2,s2,-0x1
li a2,0x1
lw a1,0x34(sp)
or a0,s3,zero
or t9,s7,zero
bal 0x0003aef4
_sb v0,0x64(sp)
bne s2,zero,0x00043830
_lw gp,0x20(sp)
lw s4,-0x7fc8(gp)
addiu v0,s0,0x6c0
lw s3,-0x7adc(gp)
addiu s2,s0,0xc0
lw s6,0x13c(s0)
addiu s8,sp,0x88
sw v0,0x44(sp)
addiu v0,s4,0x470
addiu s3,s3,-0x4edc
sw v0,0x28(sp)
li a2,0x4
sw zero,0x88(sp)
or a1,s8,zero
or t9,s7,zero
bal 0x0003aef4
_or a0,s6,zero
addiu s5,s2,-0xc0
lw v0,0x0(s6)
lw gp,0x20(sp)
sw v0,0x18(s6)
lw s4,0x14c(s5)
beq s4,zero,0x00043918
_lw s6,0x13c(s0)
lw v0,0x0(s6)
lw a0,0x18(s6)
subu v0,v0,a0
blez v0,0x000438ec
_lw t9,-0x7528(gp)
lw a1,0x28(sp)
li a2,0x1
or t9,s3,zero
bal 0x0003b124
_or a0,s6,zero
lw gp,0x20(sp)
lw t9,-0x7528(gp)
or a0,s4,zero
jalr t9
_addiu s5,s5,0xc
or a1,s4,zero
or a2,v0,zero
or t9,s3,zero
bal 0x0003b124
_or a0,s6,zero
bne s2,s5,0x000438b0
_lw gp,0x20(sp)
lw s6,0x13c(s0)
lw v0,0x44(sp)
addiu s2,s2,0xc0
bne v0,s2,0x0004388c
_li a2,0x4
sw zero,0x88(sp)
or a1,s8,zero
or t9,s7,zero
bal 0x0003aef4
_or a0,s6,zero
li a2,0x4
lw s2,0x13c(s0)
or a1,s8,zero
lw v0,0x0(s6)
or t9,s7,zero
or a0,s2,zero
sw v0,0x18(s6)
bal 0x0003aef4
_sw zero,0x88(sp)
li a2,0x1
lw v0,0x0(s2)
or t9,s7,zero
lw a0,0x13c(s0)
lw a1,0x34(sp)
sw v0,0x18(s2)
bal 0x0003aef4
_sb zero,0x64(sp)
li a2,0x4
lw a0,0x13c(s0)
or a1,s8,zero
or t9,s7,zero
bal 0x0003aef4
_sw zero,0x88(sp)
li a1,0x1
lw v0,0x13c(s0)
lw gp,0x20(sp)
lw v0,0x0(v0)
lw t9,-0x7f68(gp)
addiu v0,v0,-0x5
or a0,v0,zero
jalr t9
_sw v0,0x34(s0)
lw v1,0x13c(s0)
or a0,v0,zero
lw gp,0x20(sp)
lw a2,0x34(s0)
sw v0,0x30(s0)
lw a1,0x10(v1)
lw t9,-0x7468(gp)
jalr t9
_addiu a1,a1,0x5
or a0,s1,zero
lw gp,0x20(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,0x6280
bal 0x00046280
_lw a1,0x13c(s0)
lw gp,0x20(sp)
lw v0,0x2c(sp)
beq v0,zero,0x00045214
_nop
lw v1,0x8(v0)
li v0,0x14
bne v1,v0,0x000451a4
_lw v1,-0x7c10(gp)
li a1,-0x6
lw a0,0x2c(sp)
sw a1,0x4c(sp)
addiu v1,v1,0x7704
lw a1,-0x7fd8(gp)
sw s0,0x50(sp)
sw v1,0x48(sp)
lw v1,-0x7adc(gp)
lw v0,0x18(a0)
sw a1,0x58(sp)
addiu a1,sp,0x64
addiu v1,v1,-0x26e4
sw zero,0x98(s1)
addiu v0,v0,0x10
sw a1,0x34(sp)
sw v1,0x28(sp)
addiu a1,sp,0x60
lw v1,-0x7adc(gp)
sw zero,0x9c(s1)
sw zero,0x44(sp)
addiu v1,v1,-0x27a4
sw zero,0x48(s0)
sw zero,0x4c(s0)
sw zero,0x50(s0)
sw zero,0x54(s0)
sw zero,0x60(s0)
sw zero,0x64(s0)
sw zero,0x10(s0)
sw zero,0xc(s0)
sw zero,0x18(s0)
sw zero,0x14(s0)
sw a1,0x54(sp)
sw v0,0x18(a0)
sw v1,0x5c(sp)
sw zero,0x144(s0)
lw a2,0x34(sp)
lw a1,0x54(sp)
lw t9,0x48(sp)
jalr t9
_lw a0,0x2c(sp)
lw s2,0x60(sp)
beq s2,zero,0x00045dec
_lw gp,0x20(sp)
lw v1,0x44(sp)
li v0,0x4
beq v1,v0,0x000451e8
_li v0,0x5
bne v1,v0,0x00043b30
_lw v0,0x4c(sp)
lw v0,0x4c(s0)
beq v0,zero,0x00043b2c
_nop
lw v0,0x38(v0)
beq v0,zero,0x00043b2c
_nop
lw v1,0x28(v0)
sw v0,0x54(s0)
sltu v0,zero,v1
sw v0,0x5c(s0)
lw v0,0x44(sp)
addiu v0,v0,0x1
sw v0,0x44(sp)
lw v0,0x50(sp)
addiu v0,v0,0xc0
sw v0,0x50(sp)
lw v0,0x4c(sp)
addiu v0,v0,0x1
b 0x00043aa4
_sw v0,0x4c(sp)
lw v0,0x4c(sp)
or s6,zero,zero
lw s8,0x64(sp)
li s7,0x10
lw s3,0x50(sp)
sltiu s5,v0,0x2
lw s4,0x14c(s3)
beq s4,zero,0x00043b7c
_lw t9,0x28(sp)
or a2,s8,zero
or a1,s2,zero
jalr t9
_or a0,s4,zero
bne v0,zero,0x00045264
_lw gp,0x20(sp)
bne s5,zero,0x00046018
_or a2,s8,zero
addiu s6,s6,0x1
bne s6,s7,0x00043b44
_addiu s3,s3,0xc
lw v0,0x44(sp)
addiu v1,sp,0x90
lw a0,-0x7fc8(gp)
or a3,s2,zero
lw t9,-0x7f6c(gp)
or a2,s8,zero
sll v0,v0,0x2
addiu a0,a0,0x59c8
addu v0,v1,v0
jalr t9
_lw a1,-0x28(v0)
b 0x00043628
_lw gp,0x20(sp)
lw v0,0x2c(sp)
bne v0,zero,0x00043614
_lw a0,-0x7fc8(gp)
bgtz a2,0x00045494
_li v0,0x1abc
lw v0,0x25c(s1)
sw v0,0x140(s0)
lw a0,0x10(s1)
beq a0,zero,0x00043bec
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_or a1,zero,zero
lw gp,0x20(sp)
sw zero,0x260(s1)
lw v0,0x140(s0)
beq v0,zero,0x00045a34
_li v0,0x1
lw v0,0x10(s0)
beq v0,zero,0x000443a0
_nop
lw a0,0x10(s1)
beq a0,zero,0x00043c28
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_li a1,0x1
lw gp,0x20(sp)
lw v0,0x6c8(s1)
li v1,0x1
blez v0,0x00045b88
_sw v1,0x260(s1)
lw s6,-0x7fd8(gp)
addiu s4,s1,0x6b0
lw s8,-0x7fc8(gp)
or s3,zero,zero
or s5,zero,zero
addiu v0,s6,0x1ed8
addiu s7,s8,0x470
sw v0,0x28(sp)
lw a3,0x0(s4)
or s6,zero,zero
lw v0,0x28(sp)
li s2,0x5
sll a3,a3,0x3
addu s8,v0,a3
lw t9,-0x7bac(gp)
li a1,0x19
lw a0,0x248(s1)
jalr t9
_or a2,s6,zero
beq v0,zero,0x00043ca0
_lw gp,0x20(sp)
lw a0,0x4(s8)
beq a0,v0,0x00045168
_addiu s6,s6,0x1
bne s6,s2,0x00043c74
_lw t9,-0x7bac(gp)
lw v0,0x6c8(s1)
addiu s3,s3,0x1
slt v0,s3,v0
bne v0,zero,0x00043c58
_addiu s4,s4,0x4
lw v0,0x9c(s1)
lw a0,0x110(s1)
beq s5,zero,0x00045b94
_lw a1,0x30(v0)
lw a3,-0x7a78(gp)
or a2,s5,zero
lw t9,-0x79f4(gp)
sw s1,0x10(sp)
jalr t9
_addiu a3,a3,-0xf58
or a0,s5,zero
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_sw v0,0x140(s0)
lw gp,0x20(sp)
lw v0,0x140(s0)
bgez v0,0x00044370
_li v0,0x1aff
b 0x00042f18
_sw v0,0x0(s0)
lw v0,0x2c(sp)
beq v0,zero,0x00044348
_nop
lw v1,0x8(v0)
li v0,0x1f
bne v1,v0,0x00044e30
_lw a0,-0x7fc8(gp)
lw s2,-0x7c10(gp)
lw s3,0x2c(sp)
addiu s2,s2,0x7b74
or t9,s2,zero
bal 0x00037b74
_or a0,s3,zero
or a0,s3,zero
or t9,s2,zero
bal 0x00037b74
_sw v0,0x1c(s0)
lw a0,0x1c(s0)
lw gp,0x20(sp)
beq a0,zero,0x000458dc
_sw v0,0x20(s0)
beq v0,zero,0x000458dc
_nop
lw t9,-0x79f0(gp)
bal 0x0005fcf4
_or a1,v0,zero
lw gp,0x20(sp)
sw v0,0xe8(s1)
li v0,0x20
sw v0,0x38(s0)
li v0,0x21
lw s2,-0x7c10(gp)
sw v0,0x3c(s0)
addiu s2,s2,0x6ce8
lw v0,0x98(s1)
or t9,s2,zero
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw v0,0xc(v0)
addiu a1,a1,0x5ba8
bal 0x00036ce8
_lw a2,0x18(v0)
li a1,0x2
lw gp,0x20(sp)
lw t9,-0x7a04(gp)
jalr t9
_lw a0,0x110(s1)
lw gp,0x20(sp)
lw a1,0x4(s0)
lw a0,0xe8(s1)
lw t9,-0x79ec(gp)
bal 0x0005fe1c
_sll a1,a1,0x1
lw gp,0x20(sp)
lw a0,0x38(s0)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4fb4
bal 0x0003b04c
_sw v0,0x24(s0)
addiu a1,sp,0x64
lw gp,0x20(sp)
or s2,v0,zero
lw a0,0x24(s0)
lw t9,-0x7c10(gp)
addiu t9,t9,0x7c0c
bal 0x00037c0c
_sw v0,0x13c(s0)
li a2,0x4
lw gp,0x20(sp)
addiu a1,sp,0x88
or a0,s2,zero
sw zero,0x88(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x510c
bal 0x0003aef4
_or s3,v0,zero
or a1,s3,zero
lw gp,0x20(sp)
or a0,s2,zero
lw v0,0x0(s2)
lw a2,0x64(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4edc
bal 0x0003b124
_sw v0,0x18(s2)
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s3,zero
or a0,s1,zero
lw gp,0x20(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,0x6280
bal 0x00046280
_lw a1,0x13c(s0)
li a1,0x1
lw gp,0x20(sp)
lw t9,-0x7a04(gp)
jalr t9
_lw a0,0x110(s1)
lw gp,0x20(sp)
li v0,0x1b96
b 0x00042f18
_sw v0,0x0(s0)
lw v0,0x2c(sp)
beq v0,zero,0x00044e48
_nop
lw v0,0x2c(sp)
lw v1,0x8(v0)
li v0,0x14
beq v1,v0,0x00044f18
_lw a1,-0x7fc8(gp)
lw v0,0x238(s1)
beq v0,zero,0x00044ee4
_li v0,0x1e09
b 0x00042f18
_sw v0,0x0(s0)
lw v0,0x2c(sp)
beq v0,zero,0x00044a00
_nop
lw v1,0x8(v0)
li v0,0x1f
bne v1,v0,0x00044e14
_lw t9,-0x79e8(gp)
lw v1,-0x7c10(gp)
addiu a2,s0,0x7c
lw a0,0x2c(sp)
addiu a1,s0,0x68
addiu t9,v1,0x7704
bal 0x00037704
_sw t9,0x48(sp)
lw a2,0x68(s0)
beq a2,zero,0x00045a04
_lw gp,0x20(sp)
lw v0,0x98(s1)
addiu s4,sp,0x64
lw s3,-0x7adc(gp)
lw a3,0x7c(s0)
lw a1,0xc(s1)
lw a0,0xc(v0)
addiu s3,s3,-0x5e44
or t9,s3,zero
bal 0x0003a1bc
_addiu a0,a0,0x8
lw v0,0x9c(s1)
lw a2,0x7c(s0)
lw a1,0x68(s0)
lw t9,0x0(v0)
jalr t9
_or a0,v0,zero
or a1,s4,zero
lw gp,0x20(sp)
lw a0,0x90(s0)
lw t9,-0x79e4(gp)
jalr t9
_sw v0,0x88(s0)
lw gp,0x20(sp)
beq v0,zero,0x00045dcc
_or s2,v0,zero
lw v0,0x98(s1)
or a2,s2,zero
lw a3,0x64(sp)
or t9,s3,zero
lw a1,0xc(s1)
lw a0,0xc(v0)
bal 0x0003a1bc
_addiu a0,a0,0x8
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s2,zero
addiu a1,sp,0x60
lw a0,0x2c(sp)
lw t9,0x48(sp)
jalr t9
_or a2,s4,zero
lw a2,0x60(sp)
beq a2,zero,0x00045a04
_lw gp,0x20(sp)
lw v0,0x98(s1)
or t9,s3,zero
lw a3,0x64(sp)
lw a1,0xc(s1)
lw a0,0xc(v0)
bal 0x0003a1bc
_addiu a0,a0,0x8
lw gp,0x20(sp)
lw a2,0x64(sp)
lw a1,0x60(sp)
lw t9,-0x79e0(gp)
jalr t9
_lw a0,0x90(s0)
lw gp,0x20(sp)
beq v0,zero,0x00045f64
_sw v0,0x2c(s0)
lw a0,0x2c(sp)
addiu a2,s0,0x80
lw t9,0x48(sp)
jalr t9
_addiu a1,s0,0x6c
lw v0,0x6c(s0)
beq v0,zero,0x000459b4
_lw gp,0x20(sp)
lw t9,-0x79e8(gp)
jalr t9
_lw a0,0x90(s0)
lw gp,0x20(sp)
lw s2,-0x7adc(gp)
b 0x0004446c
_addiu s2,s2,-0x5d90
lw v0,0x2c(sp)
beq v0,zero,0x000451dc
_nop
lw v1,0x8(v0)
li v0,0x1e
bne v1,v0,0x00044e08
_lw a0,-0x7fc8(gp)
lw s2,-0x7c10(gp)
addiu a2,s0,0x7c
lw a0,0x2c(sp)
addiu s2,s2,0x7704
or t9,s2,zero
bal 0x00037704
_addiu a1,s0,0x68
lw a2,0x68(s0)
beq a2,zero,0x000459d0
_lw gp,0x20(sp)
lw v0,0x98(s1)
addiu s3,sp,0x64
lw s4,-0x7adc(gp)
lw a3,0x7c(s0)
lw a1,0xc(s1)
lw a0,0xc(v0)
addiu s4,s4,-0x5e44
sw s3,0x34(sp)
or t9,s4,zero
bal 0x0003a1bc
_addiu a0,a0,0x8
lw v0,0x9c(s1)
lw a2,0x7c(s0)
lw a1,0x68(s0)
lw t9,0x0(v0)
jalr t9
_or a0,v0,zero
addiu a2,s0,0x84
lw a0,0x2c(sp)
or a1,s3,zero
or t9,s2,zero
bal 0x00037704
_sw v0,0x88(s0)
lw v0,0x64(sp)
beq v0,zero,0x000459d0
_lw gp,0x20(sp)
lw t9,-0x7f68(gp)
li a1,0x1
jalr t9
_lw a0,0x84(s0)
lw gp,0x20(sp)
or a0,v0,zero
lw a2,0x84(s0)
sw v0,0x70(s0)
lw t9,-0x7468(gp)
jalr t9
_lw a1,0x64(sp)
lw gp,0x20(sp)
lw a1,0x84(s0)
lw t9,-0x79dc(gp)
jalr t9
_lw a0,0x70(s0)
lw gp,0x20(sp)
beq v0,zero,0x00045f34
_sw v0,0x8c(s0)
lw v0,0x98(s1)
or t9,s4,zero
lw a3,0x84(s0)
lw a2,0x70(s0)
lw a1,0xc(s1)
lw a0,0xc(v0)
bal 0x0003a1bc
_addiu a0,a0,0x8
lw gp,0x20(sp)
lw t9,-0x79d8(gp)
jalr t9
_lw a0,0x8c(s0)
li a0,0x400
lw gp,0x20(sp)
or s6,v0,zero
lw v1,0x98(s1)
li v0,0x800
lw s2,-0x79d4(gp)
xor s2,v1,s2
movz v0,a0,s2
or s2,v0,zero
slt v0,s6,v0
bne v0,zero,0x00045f00
_lw t9,-0x7fa0(gp)
lw v0,0xc(v1)
lw s3,0x14(v0)
sll s3,s3,0x4
addiu s3,s3,0x31
subu s3,s6,s3
blez s3,0x000460ac
_lw t9,-0x79d0(gp)
addiu a0,s3,-0x1
bal 0x000580c0
_or s2,zero,zero
lw gp,0x20(sp)
b 0x00044204
_sw v0,0x2c(s0)
lw v0,0x38(sp)
or a1,s2,zero
lw t9,-0x79cc(gp)
addiu s2,s2,0x1
lw a0,0x2c(s0)
srav a2,v0,s8
bal 0x0005803c
_andi a2,a2,0x1
beq s3,s2,0x000454a8
_lw gp,0x20(sp)
andi s8,s2,0x7
bne s8,zero,0x000441e0
_lw v0,0x38(sp)
lw t9,-0x7a9c(gp)
jalr t9
_nop
lw gp,0x20(sp)
b 0x000441dc
_sw v0,0x38(sp)
lw v0,0x2c(sp)
beq v0,zero,0x000435b4
_li v0,0x1b43
lw a0,0x98(s1)
lw v0,0x8(a0)
bne v0,zero,0x000448f8
_li v1,0x2
lw v0,0x48(s0)
beq v0,zero,0x00044254
_or v1,zero,zero
lw v1,0x28(v0)
lw v0,0x4c(s0)
beq v0,zero,0x00044268
_nop
lw v0,0x28(v0)
sw v0,0x38(sp)
lw a1,0xc(a0)
lw a2,0x38(sp)
lw t9,-0x79c8(gp)
slt v0,v1,a2
movz a2,v1,v0
lw v0,0x14(a1)
or s7,a2,zero
sll v0,v0,0x3
slt v1,v0,a2
movn s7,v0,v1
bal 0x0005fc50
_sw s7,0x4(s0)
beq v0,zero,0x00045650
_lw gp,0x20(sp)
lw a1,-0x7fc8(gp)
lw t9,-0x7f44(gp)
lw a0,0x110(s1)
jalr t9
_addiu a1,a1,0x5af0
li v0,0x2
lw v1,0x4(s0)
lw gp,0x20(sp)
sw v0,0x184(s1)
addiu v0,v1,-0x1
bgez v0,0x000442d4
_nop
addiu v0,v1,0x3e
sra v1,v0,0x6
li v0,0x200
sllv v0,v0,v1
slti v1,v0,0x400
beq v1,zero,0x00045998
_slti v1,v0,0x2001
li v0,0x400
sw v0,0x8(s0)
lw v0,0x50(s1)
andi v0,v0,0x1000
beq v0,zero,0x00045920
_lw t9,-0x7adc(gp)
addiu t9,t9,-0x4fb4
bal 0x0003b04c
_li a0,0x1e
lw gp,0x20(sp)
or a0,v0,zero
lw a1,0x8(s0)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4e34
bal 0x0003b1cc
_sw v0,0x13c(s0)
lw gp,0x20(sp)
lw t9,-0x7adc(gp)
or a0,s1,zero
addiu t9,t9,0x6280
bal 0x00046280
_lw a1,0x13c(s0)
lw gp,0x20(sp)
li v0,0x1b73
b 0x00042f18
_sw v0,0x0(s0)
lw v0,0x2c(sp)
bne v0,zero,0x00043614
_lw a0,-0x7fc8(gp)
bgtz a2,0x00043d00
_li v0,0x1aff
lw v0,0x25c(s1)
sw v0,0x140(s0)
lw a0,0x10(s1)
beq a0,zero,0x00044390
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_or a1,zero,zero
lw gp,0x20(sp)
sw zero,0x260(s1)
lw v0,0x140(s0)
beq v0,zero,0x00045b50
_li v0,0x1
lw v0,0x14(s0)
beq v0,zero,0x00043510
_nop
lw a0,0x10(s1)
beq a0,zero,0x000443cc
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_li a1,0x1
lw gp,0x20(sp)
lw v0,0x48(s0)
lw a3,-0x7a78(gp)
lw v1,0x40(sp)
lw t9,-0x79fc(gp)
lw a2,0x20(v0)
li v0,0x1
lw a0,0x110(s1)
addiu a1,v1,0x58b0
addiu a3,a3,-0xf58
sw v0,0x260(s1)
jalr t9
_sw s1,0x10(sp)
lw gp,0x20(sp)
bgez v0,0x000434e0
_sw v0,0x140(s0)
li v0,0x1b18
b 0x00042f18
_sw v0,0x0(s0)
lw v0,0x2c(sp)
beq v0,zero,0x00045644
_nop
lw v1,0x8(v0)
li v0,0x20
bne v1,v0,0x00044dec
_lw t9,-0x7fa0(gp)
lw t9,-0x7c10(gp)
addiu a2,s0,0x80
lw a0,0x2c(sp)
addiu t9,t9,0x7704
bal 0x00037704
_addiu a1,s0,0x6c
lw v0,0x6c(s0)
beq v0,zero,0x00045b78
_lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_lw a0,0x70(s0)
lw gp,0x20(sp)
lw s2,-0x7adc(gp)
addiu s2,s2,-0x5d90
lw v0,0x98(s1)
or t9,s2,zero
lw a2,0x2c(s0)
lw a1,0xc(s1)
bal 0x0003a270
_lw a0,0xc(v0)
lw v0,0x98(s1)
lw v1,0xc(v0)
lw v0,0x14(v1)
sltiu v0,v0,0x41
beq v0,zero,0x000460d0
_lw gp,0x20(sp)
lw a0,0xc(s1)
addiu s2,s0,0x94
lw t9,0xc(v1)
jalr t9
_or a1,s2,zero
lw a0,0x88(s0)
lw gp,0x20(sp)
beq a0,zero,0x00045dac
_sw zero,0xe8(s1)
lw v1,0x98(s1)
lw v0,0x9c(s1)
lw a2,0x80(s0)
lw a1,0x6c(s0)
lw v1,0xc(v1)
lw v1,0x14(v1)
sw v1,0x10(sp)
lw t9,0x28(v0)
jalr t9
_or a3,s2,zero
beq v0,zero,0x00045b68
_lw gp,0x20(sp)
lw v0,0x9c(s1)
lw t9,0x8(v0)
jalr t9
_lw a0,0x88(s0)
lw v1,0x134(s0)
or s2,v0,zero
lw gp,0x20(sp)
bne v1,zero,0x000458ec
_sw v0,0x74(s0)
lw s8,-0x7fd8(gp)
or s2,zero,zero
lw s5,-0x7f80(gp)
or s6,zero,zero
lw v0,-0x7fc8(gp)
or s4,zero,zero
lw a2,-0x79c4(gp)
addiu s8,s8,0x1ed8
addiu s5,s5,0x3a0
addiu s7,v0,0x5f54
li s3,0x6
lw v0,0x9c(s1)
beq v0,a2,0x00044588
_nop
lw a1,0x6c8(s1)
blez a1,0x00044588
_nop
lw v0,0x6b0(s1)
beq s6,v0,0x00045220
_addiu v1,s1,0x6b4
b 0x00044578
_or v0,zero,zero
lw a0,-0x4(v1)
beq a0,s6,0x00045220
_nop
addiu v0,v0,0x1
bne v0,a1,0x0004456c
_addiu v1,v1,0x4
addiu v1,v1,-0x4
addiu s6,s6,0x1
beq s6,s3,0x000456a8
_addiu s8,s8,0x8
b 0x00044540
_lw a2,0x0(s8)
lw v0,0x2c(sp)
beq v0,zero,0x000434a4
_nop
lw v1,0x8(v0)
li v0,0x15
bne v1,v0,0x00045848
_lw a0,-0x7fc8(gp)
lw a0,0x6c(s1)
beq a0,zero,0x000445d4
_sw zero,0x684(s1)
lw v0,0x64(s1)
lw t9,0x4(v0)
jalr t9
_nop
lw v0,0x4c(s0)
beq v0,zero,0x000445f0
_nop
lw t9,0x0(v0)
jalr t9
_sw v0,0x64(s1)
sw v0,0x6c(s1)
lw a0,0x84(s1)
beq a0,zero,0x0004460c
_nop
lw v0,0x74(s1)
lw t9,0x4(v0)
jalr t9
_nop
lw v0,0x54(s0)
beq v0,zero,0x00044634
_nop
lw v1,0x5c(s0)
lw t9,0x0(v0)
lw a0,0x6c(s1)
sw v0,0x74(s1)
jalr t9
_sw v1,0x7c(s1)
sw v0,0x84(s1)
lw a0,0x94(s1)
beq a0,zero,0x00044650
_nop
lw v0,0x8c(s1)
lw t9,0x18(v0)
jalr t9
_nop
lw v0,0x64(s0)
sw v0,0x8c(s1)
lw t9,0x14(v0)
jalr t9
_nop
lw v1,0x64(s1)
lw gp,0x20(sp)
beq v1,zero,0x00044748
_sw v0,0x94(s1)
lw s2,-0x7adc(gp)
addiu s3,s0,0x94
lw v0,0x2c(v1)
li a3,0x44
lw a1,0x2c(s0)
or a2,s3,zero
addiu s2,s2,-0x5cd8
or a0,s1,zero
or t9,s2,zero
bal 0x0003a328
_sw v0,0x10(sp)
lw v1,0x64(s1)
or a1,v0,zero
lw a0,0x6c(s1)
lw t9,0xc(v1)
jalr t9
_or s4,v0,zero
or a0,s4,zero
lw v0,0x64(s1)
lw gp,0x20(sp)
lw t9,-0x7f10(gp)
jalr t9
_lw a1,0x2c(v0)
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s4,zero
li a3,0x42
lw v0,0x64(s1)
or a2,s3,zero
lw a1,0x2c(s0)
or t9,s2,zero
or a0,s1,zero
lw v0,0x24(v0)
bal 0x0003a328
_sw v0,0x10(sp)
lw v1,0x64(s1)
or a1,v0,zero
lw a0,0x6c(s1)
lw t9,0x8(v1)
jalr t9
_or s2,v0,zero
or a0,s2,zero
lw gp,0x20(sp)
lw v0,0x64(s1)
lw t9,-0x7f10(gp)
jalr t9
_lw a1,0x24(v0)
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s2,zero
lw gp,0x20(sp)
lw v0,0x74(s1)
beq v0,zero,0x00045854
_lw t9,-0x7adc(gp)
li a3,0x46
lw v0,0x30(v0)
addiu a2,s0,0x94
lw a1,0x2c(s0)
or a0,s1,zero
addiu t9,t9,-0x5cd8
bal 0x0003a328
_sw v0,0x10(sp)
lw v1,0x74(s1)
or a1,v0,zero
lw a0,0x84(s1)
lw t9,0x8(v1)
jalr t9
_or s2,v0,zero
or a0,s2,zero
lw v0,0x74(s1)
lw gp,0x20(sp)
lw t9,-0x7f10(gp)
jalr t9
_lw a1,0x30(v0)
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s2,zero
lw v0,0x64(s1)
beq v0,zero,0x000447e0
_lw gp,0x20(sp)
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7c10(gp)
lw a2,0x34(v0)
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x6188
lw gp,0x20(sp)
lw v0,0x74(s1)
beq v0,zero,0x00044838
_nop
lw v1,0x7c(s1)
bne v1,zero,0x000459c4
_lw a2,0x34(v0)
lw a3,-0x7fc8(gp)
addiu a3,a3,0x4f64
lw v0,0x64(s1)
lw v0,0x38(v0)
beq v0,zero,0x00045a4c
_lw v0,-0x7fc8(gp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x586c
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7c10(gp)
sw v0,0x10(sp)
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x61b8
lw gp,0x20(sp)
lw v0,0x8c(s1)
lw a2,0x24(v0)
beq a2,zero,0x00044860
_lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7c10(gp)
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x61ec
lw gp,0x20(sp)
lw t9,-0x79c0(gp)
bal 0x00057554
_lw a0,0x2c(s0)
lw gp,0x20(sp)
lw t9,-0x7af0(gp)
jalr t9
_lw a0,0x110(s1)
lw a1,0x6a0(s1)
beq a1,zero,0x00045868
_lw gp,0x20(sp)
lw t9,-0x7f44(gp)
jalr t9
_lw a0,0x110(s1)
lw gp,0x20(sp)
sw zero,0x2c(sp)
sw zero,0x6a0(s1)
lw s2,-0x7fc8(gp)
or s6,zero,zero
lw s3,-0x79bc(gp)
lw s4,-0x79b8(gp)
lw s5,-0x79b4(gp)
addiu s2,s2,0x7c08
sw zero,0x184(s1)
sw zero,0xd4(s0)
lw t9,-0x7bac(gp)
li a1,0x18
lw a0,0x248(s1)
jalr t9
_or a2,s6,zero
sltiu v1,v0,0x6
beq v1,zero,0x00044a28
_lw gp,0x20(sp)
sll v0,v0,0x2
addu v0,s2,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
bne v0,v1,0x000451b4
_lw a1,-0x7fc8(gp)
lw t9,-0x79b0(gp)
jalr t9
_nop
or a0,s1,zero
lw v1,0x98(s1)
or a2,v0,zero
lw gp,0x20(sp)
lw v0,0xc(v1)
lw a1,-0x7fc8(gp)
lw t9,-0x7c10(gp)
lw a3,0x18(v0)
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x5c60
li v0,0x3
lw gp,0x20(sp)
lw a0,0x98(s1)
lw t9,-0x79ac(gp)
jalr t9
_sw v0,0x184(s1)
lw gp,0x20(sp)
beq v0,zero,0x00045dbc
_sw v0,0x90(s0)
lw t9,-0x79e4(gp)
addiu a1,sp,0x64
jalr t9
_or a0,v0,zero
lw gp,0x20(sp)
beq v0,zero,0x00045cd4
_or s3,v0,zero
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4fb4
bal 0x0003b04c
_li a0,0x1e
li a2,0x4
lw gp,0x20(sp)
addiu a1,sp,0x88
sw v0,0x13c(s0)
or a0,v0,zero
sw zero,0x88(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x510c
bal 0x0003aef4
_or s2,v0,zero
or a1,s3,zero
lw gp,0x20(sp)
lw v0,0x0(s2)
lw a2,0x64(sp)
lw a0,0x13c(s0)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4edc
bal 0x0003b124
_sw v0,0x18(s2)
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s3,zero
or a0,s1,zero
lw gp,0x20(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,0x6280
bal 0x00046280
_lw a1,0x13c(s0)
lw gp,0x20(sp)
li v0,0x1bec
b 0x00042f18
_sw v0,0x0(s0)
lw v1,0xd4(s0)
addiu v0,v1,0x36
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0xd4(s0)
addu v0,s0,v0
sw s4,0x0(v0)
addiu s6,s6,0x1
li v0,0x6
bne s6,v0,0x000448c4
_lw t9,-0x7bac(gp)
or s4,zero,zero
sw zero,0xf0(s0)
li s3,0x4
li s2,0x5
lw t9,-0x7bac(gp)
li a1,0x19
lw a0,0x248(s1)
jalr t9
_or a2,s4,zero
bne v0,zero,0x00044a6c
_lw gp,0x20(sp)
beq s4,s3,0x00044a90
_nop
lw a0,0xf0(s0)
addiu s4,s4,0x1
addiu v1,a0,0x3c
addiu a0,a0,0x1
sll v1,v1,0x2
sw a0,0xf0(s0)
addu v1,s0,v1
bne s4,s2,0x00044a48
_sw v0,0x4(v1)
lw s2,-0x7fc8(gp)
or s6,zero,zero
lw s3,-0x79a8(gp)
lw s4,-0x79a4(gp)
lw s5,-0x79a0(gp)
addiu s2,s2,0x7c20
sw zero,0x108(s0)
lw t9,-0x7bac(gp)
li a1,0x1f
lw a0,0x248(s1)
jalr t9
_or a2,s6,zero
sltiu v1,v0,0x7
beq v1,zero,0x00044bb4
_lw gp,0x20(sp)
sll v0,v0,0x2
addu v0,s2,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
lw v1,0xd4(s0)
addiu v0,v1,0x36
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0xd4(s0)
addu v0,s0,v0
lw v1,-0x799c(gp)
b 0x00044a28
_sw v1,0x0(v0)
lw v1,0xd4(s0)
addiu v0,v1,0x36
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0xd4(s0)
addu v0,s0,v0
lw v1,-0x7998(gp)
b 0x00044a28
_sw v1,0x0(v0)
lw v1,0xd4(s0)
addiu v0,v1,0x36
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0xd4(s0)
addu v0,s0,v0
b 0x00044a28
_sw s5,0x0(v0)
lw v1,0xd4(s0)
addiu v0,v1,0x36
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0xd4(s0)
addu v0,s0,v0
b 0x00044a28
_sw s3,0x0(v0)
li v0,0x5
beq s6,v0,0x00044a38
_nop
lw v1,0xd4(s0)
addiu v0,v1,0x36
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0xd4(s0)
addu v0,s0,v0
b 0x00044a28
_sw zero,0x0(v0)
lw v1,0x108(s0)
addiu v0,v1,0x42
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0x108(s0)
addu v0,s0,v0
sw s4,0x4(v0)
addiu s6,s6,0x1
li v0,0x7
bne s6,v0,0x00044ab0
_lw t9,-0x7bac(gp)
lw t9,-0x7f3c(gp)
li a1,0x17
jalr t9
_lw a0,0x248(s1)
beq v0,zero,0x00045124
_lw gp,0x20(sp)
lw v0,-0x79f8(gp)
li v1,0x1
sw v0,0x128(s0)
addiu v0,s0,0x20c
addiu a0,s0,0x80c
sw v1,0x164(s1)
sw v1,0x694(s1)
or v1,v0,zero
sw v0,0x34(sp)
addiu v0,v1,-0xc0
sw zero,0x0(v0)
addiu v0,v0,0xc
bne v1,v0,0x00044c04
_nop
addiu v1,v1,0xc0
bne a0,v1,0x00044c00
_nop
lw v1,0xd4(s0)
blez v1,0x00044f30
_lw v0,-0x7adc(gp)
addiu s4,s0,0xd8
or s2,zero,zero
or s5,zero,zero
addiu v0,v0,-0x5424
addiu s3,s0,0x14c
b 0x00044c5c
_sw v0,0x28(sp)
li s2,0x1
addiu s5,s5,0x1
slt v0,s5,v1
beq v0,zero,0x00044f30
_addiu s4,s4,0x4
lw s8,0x0(s4)
beq s8,zero,0x00044c48
_nop
lw v0,0x0(s8)
blez v0,0x00044c4c
_or s7,zero,zero
lw v1,0x4(s8)
sll s6,s7,0x2
lw t9,0x28(sp)
or a0,s3,zero
addu v1,v1,s6
addiu s7,s7,0x1
lw v0,0x0(v1)
jalr t9
_lw a1,0x0(v0)
lw v1,0x4(s8)
lw a0,0x0(s8)
lw gp,0x20(sp)
addu a2,v1,s6
slt a0,s7,a0
lw a1,0x0(a2)
sw s2,0x8(v0)
bne a0,zero,0x00044c78
_sw a1,0x4(v0)
b 0x00044c4c
_lw v1,0xd4(s0)
lw t9,-0x7f3c(gp)
li a1,0x22
jalr t9
_lw a0,0x248(s1)
beq v0,zero,0x00044bb4
_lw gp,0x20(sp)
lw v1,0x108(s0)
addiu v0,v1,0x42
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0x108(s0)
addu v0,s0,v0
lw v1,-0x7994(gp)
b 0x00044bb4
_sw v1,0x4(v0)
lw v1,0x108(s0)
addiu v0,v1,0x42
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0x108(s0)
addu v0,s0,v0
b 0x00044bb4
_sw s5,0x4(v0)
lw v1,0x108(s0)
addiu v0,v1,0x42
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0x108(s0)
addu v0,s0,v0
lw v1,-0x7990(gp)
b 0x00044bb4
_sw v1,0x4(v0)
lw v1,0x108(s0)
addiu v0,v1,0x42
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0x108(s0)
addu v0,s0,v0
lw v1,-0x798c(gp)
b 0x00044bb4
_sw v1,0x4(v0)
lw v1,0x108(s0)
addiu v0,v1,0x42
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0x108(s0)
addu v0,s0,v0
b 0x00044bb4
_sw s3,0x4(v0)
li v0,0x6
beq s6,v0,0x00044bc8
_lw t9,-0x7f3c(gp)
lw v1,0x108(s0)
addiu v0,v1,0x42
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0x108(s0)
addu v0,s0,v0
b 0x00044bb4
_sw zero,0x4(v0)
bgtz a2,0x000454a0
_li v0,0x1b31
lw v0,0x25c(s1)
b 0x00043578
_sw v0,0x140(s0)
li v0,0x4
sw v0,0x44(s0)
lw v0,-0x7fd8(gp)
addiu v0,v0,0x1ec8
b 0x000448a0
_sw v0,0x40(s0)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5bd8
jalr t9
_lw a0,0x70(s0)
lw gp,0x20(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5e7c
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5da0
jalr t9
_lw a0,0x90(s0)
lw gp,0x20(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5cdc
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5b14
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5fe0
bgez a2,0x00043ec8
_li v0,-0x2
beq a2,v0,0x00045d0c
_nop
lw v0,0x50(s1)
andi v0,v0,0x40
beq v0,zero,0x00045a14
_lw a1,-0x7fc8(gp)
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7c10(gp)
or a2,s2,zero
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x6248
li a1,0x1a
lw gp,0x20(sp)
lw a0,0x248(s1)
sw zero,0x688(s1)
lw t9,-0x7f3c(gp)
jalr t9
_sw zero,0x684(s1)
beq v0,zero,0x00043ec8
_lw gp,0x20(sp)
lw t9,-0x7f3c(gp)
li a1,0x1a
jalr t9
_lw a0,0x248(s1)
ori a0,zero,0xea60
lw gp,0x20(sp)
or a2,s1,zero
mul a0,v0,a0
lw a1,-0x7a78(gp)
lw t9,-0x7e08(gp)
jalr t9
_addiu a1,a1,-0x1014
lw gp,0x20(sp)
b 0x00043ec8
_sw v0,0x698(s1)
lw t9,-0x7adc(gp)
li v0,0x1
or a3,zero,zero
or a2,zero,zero
sw v0,0x238(s1)
or a1,zero,zero
addiu t9,t9,-0xc0c
bal 0x0003f3f4
_or a0,s1,zero
li v0,0x1e09
lw gp,0x20(sp)
b 0x00042f18
_sw v0,0x0(s0)
lw t9,-0x7f44(gp)
lw a0,0x110(s1)
jalr t9
_addiu a1,a1,0x620c
b 0x000448a0
_lw gp,0x20(sp)
lw s4,0x134(s0)
bne s4,zero,0x00045130
_nop
lw v0,0xf0(s0)
blez v0,0x000459e8
_lw s2,-0x7adc(gp)
lw v0,-0x7fd8(gp)
addiu s3,s0,0xf4
lw a3,-0x7fd8(gp)
addiu s2,s2,-0x5424
sw zero,0x28(sp)
or s5,s3,zero
addiu v0,v0,0x1ed8
sw zero,0x44(sp)
addiu s6,a3,0x1f08
sw v0,0x48(sp)
lw v1,0x28(sp)
li a1,0x1
lw v0,0x0(s5)
li a0,0x4
lw s7,0x48(sp)
movz v1,a1,v0
b 0x00044fa4
_sw v1,0x28(sp)
addiu s7,s7,0x8
beq s6,s7,0x00044ff4
_lw v1,0x44(sp)
lw a0,0x4(s7)
lw v0,0x0(s5)
bne a0,v0,0x00044f90
_lw t9,-0x7988(gp)
lw s8,0x0(s7)
lw a1,0xfc(s1)
lw a0,0xf8(s1)
jalr t9
_lw a2,0x34(s8)
beq v0,zero,0x00044f90
_lw gp,0x20(sp)
lw a1,0x30(s8)
or t9,s2,zero
lw a0,0x34(sp)
bal 0x0003abdc
_addiu s7,s7,0x8
lw v1,0x28(sp)
lw gp,0x20(sp)
sw s8,0x4(v0)
bne s6,s7,0x00044f9c
_sw v1,0x8(v0)
lw v1,0x44(sp)
lw v0,0xf0(s0)
addiu v1,v1,0x1
sw v1,0x44(sp)
slt v1,v1,v0
bne v1,zero,0x00044f70
_addiu s5,s5,0x4
blez v0,0x0004507c
_nop
or s5,zero,zero
lw v0,0x0(s3)
li v1,0x1
li a0,0x4
lw s7,0x48(sp)
b 0x00045038
_movz s4,v1,v0
lw a0,0x4(s7)
lw v0,0x0(s3)
bne v0,a0,0x0004505c
_or t9,s2,zero
lw s8,0x0(s7)
lw a0,0x34(sp)
bal 0x0003abdc
_lw a1,0x30(s8)
lw gp,0x20(sp)
sw s8,0x4(v0)
sw s4,0x8(v0)
addiu s7,s7,0x8
bne s6,s7,0x00045030
_nop
lw v0,0xf0(s0)
addiu s5,s5,0x1
slt v0,s5,v0
bne v0,zero,0x00045018
_addiu s3,s3,0x4
addiu v0,s0,0x44c
lw v1,0x108(s0)
addiu s4,s0,0x2cc
sw v0,0x34(sp)
blez v1,0x00043670
_addiu s6,s0,0x10c
sw zero,0x28(sp)
b 0x000450bc
_or s3,zero,zero
li s3,0x1
lw v0,0x28(sp)
addiu v0,v0,0x1
sw v0,0x28(sp)
slt v0,v0,v1
beq v0,zero,0x00043670
_addiu s6,s6,0x4
lw s8,0x0(s6)
beq s8,zero,0x000450a0
_nop
lw v0,0x0(s8)
blez v0,0x000450a4
_or s7,zero,zero
lw v1,0x4(s8)
sll s5,s7,0x2
or a0,s4,zero
addu v1,v1,s5
or t9,s2,zero
addiu s7,s7,0x1
lw v0,0x0(v1)
bal 0x0003abdc
_lw a1,0x20(v0)
lw v1,0x4(s8)
lw a0,0x0(s8)
lw gp,0x20(sp)
addu a2,v1,s5
slt a0,s7,a0
lw a1,0x0(a2)
sw s3,0x8(v0)
bne a0,zero,0x000450d8
_sw a1,0x4(v0)
b 0x000450a4
_lw v1,0x108(s0)
lw v0,-0x7fd8(gp)
b 0x00044be0
_addiu v0,v0,0x1240
lw v0,0x98(s1)
beq v0,zero,0x00046064
_lw s2,-0x7adc(gp)
lw v0,0x9c(s1)
lw a0,0x34(sp)
addiu s2,s2,-0x5424
or t9,s2,zero
bal 0x0003abdc
_lw a1,0x30(v0)
lw v1,0x9c(s1)
lw gp,0x20(sp)
sw zero,0x8(v0)
b 0x0004507c
_sw v1,0x4(v0)
lw v0,0x0(s8)
beq s5,zero,0x00045830
_lw a2,0x30(v0)
lw t9,-0x7f5c(gp)
or a3,zero,zero
or a0,s5,zero
jalr t9
_or a1,s7,zero
or a0,s5,zero
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or s5,v0,zero
b 0x00043ca0
_lw gp,0x20(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x597c
lw v0,0xc(a0)
or a0,s1,zero
lw t9,-0x7c10(gp)
lw a2,0x18(v0)
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x5d7c
li v0,0x4
lw gp,0x20(sp)
sw v0,0x184(s1)
li v0,0x1c2a
b 0x00042f18
_sw v0,0x0(s0)
lw v0,0x48(s0)
beq v0,zero,0x00043b2c
_nop
lw v1,0x38(v0)
beq v1,zero,0x00043b30
_lw v0,0x4c(sp)
lw v0,0x28(v1)
sw v1,0x50(s0)
sltu v0,zero,v0
b 0x00043b04
_sw v0,0x58(s0)
li v0,0x1a26
b 0x00042f18
_sw v0,0x0(s0)
beq s4,zero,0x000459f0
_lw a1,0x30(a2)
lw t9,-0x7f6c(gp)
or a2,a1,zero
or a0,s7,zero
jalr t9
_or a1,s4,zero
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
or a0,s4,zero
sw v0,0x28(sp)
jalr t9
_addiu s2,s2,0x1
lw v0,0x28(sp)
lw gp,0x20(sp)
b 0x00044588
_or s4,v0,zero
lw v0,0x44(sp)
sltiu v0,v0,0x2
bne v0,zero,0x00045bc0
_lw v1,0x44(sp)
li v0,0x2
beq v1,v0,0x00045f84
_li v0,0x3
beq v1,v0,0x00045ecc
_li v0,0x4
beq v1,v0,0x00045fb8
_li v0,0x5
beq v1,v0,0x00045ff4
_li v0,0x6
beq v1,v0,0x00045fdc
_sll v0,s6,0x1
addu v0,v0,s6
sll v0,v0,0x2
addu v0,s0,v0
lw v0,0x690(v0)
sw v0,0x64(s0)
lw v1,0x44(sp)
li v0,0x7
bne v1,v0,0x00043b08
_lw v0,0x44(sp)
lw v0,0x130(s0)
bne v0,zero,0x00045cbc
_lw a1,-0x7fc8(gp)
lw s2,0x2c(sp)
lw s4,0x34(sp)
lw s3,0x54(sp)
lw t9,0x48(sp)
or a0,s2,zero
or a2,s4,zero
jalr t9
_or a1,s3,zero
or a2,s4,zero
lw t9,0x48(sp)
or a1,s3,zero
jalr t9
_or a0,s2,zero
lw v1,0x18(s2)
lw v0,0x0(s2)
subu v0,v0,v1
blez v0,0x000459ac
_lw a1,0x2c(sp)
addiu a0,v1,0x1
lw v0,0x14(a1)
addu v0,v0,v1
lbu v0,0x0(v0)
beq v0,zero,0x000459ac
_sw a0,0x18(a1)
lw v0,0x144(s0)
sltiu v0,v0,0x1
lw v1,0x98(s1)
sw v0,0x148(s0)
lw v0,0xc(v1)
lw t9,0x0(v0)
jalr t9
_nop
lw gp,0x20(sp)
or s2,v0,zero
lw s3,0x4(s1)
sw v0,0xc(s1)
lw t9,-0x7528(gp)
jalr t9
_or a0,s3,zero
or a1,s2,zero
lw gp,0x20(sp)
or a2,s3,zero
lw v1,0x98(s1)
or a3,v0,zero
lw s2,-0x7adc(gp)
lw a0,0xc(v1)
addiu s2,s2,-0x5e44
or t9,s2,zero
bal 0x0003a1bc
_addiu a0,a0,0x8
lw gp,0x20(sp)
lw s3,0x8(s1)
lw t9,-0x7528(gp)
jalr t9
_or a0,s3,zero
or a2,s3,zero
lw v1,0x98(s1)
or a3,v0,zero
lw a1,0xc(s1)
or t9,s2,zero
lw a0,0xc(v1)
bal 0x0003a1bc
_addiu a0,a0,0x8
or t9,s2,zero
lw v0,0x98(s1)
lw a3,0x34(s0)
lw a2,0x30(s0)
lw a1,0xc(s1)
lw a0,0xc(v0)
bal 0x0003a1bc
_addiu a0,a0,0x8
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_lw a0,0x30(s0)
or t9,s2,zero
lw v0,0x98(s1)
lw v1,0x2c(sp)
lw a1,0xc(s1)
lw a0,0xc(v0)
lw a3,0x0(v1)
lw a2,0x14(v1)
addiu a0,a0,0x8
addiu a3,a3,0x1
bal 0x0003a1bc
_addiu a2,a2,-0x1
lw v0,0xc(s0)
beq v0,zero,0x00043bfc
_lw gp,0x20(sp)
lw a0,0x10(s1)
beq a0,zero,0x00045454
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_li a1,0x1
lw gp,0x20(sp)
lw v0,0x98(s1)
lw a3,-0x7a78(gp)
lw a1,-0x7fc8(gp)
lw t9,-0x79fc(gp)
lw a2,0x0(v0)
li v0,0x1
lw a0,0x110(s1)
addiu a3,a3,-0xf58
addiu a1,a1,0x5a2c
sw v0,0x260(s1)
jalr t9
_sw s1,0x10(sp)
lw gp,0x20(sp)
bgez v0,0x00043bcc
_sw v0,0x140(s0)
li v0,0x1abc
b 0x00042f18
_sw v0,0x0(s0)
li v0,0x1b31
b 0x00042f18
_sw v0,0x0(s0)
lw t9,-0x7c10(gp)
addiu s2,s6,0x7
lw a1,0x34(sp)
lw a0,0x2c(s0)
addiu t9,t9,0x7c0c
bal 0x00037c0c
_sra s2,s2,0x3
li a1,0x1
lw gp,0x20(sp)
or s5,v0,zero
lw s7,0x64(sp)
lw t9,-0x7f68(gp)
addiu s7,s7,0x4
jalr t9
_or a0,s7,zero
or a1,s5,zero
lb v1,0x64(sp)
or s3,v0,zero
lw gp,0x20(sp)
addiu a0,v0,0x4
sb v1,0x0(v0)
lh v0,0x64(sp)
lw t9,-0x7468(gp)
sb v0,0x1(s3)
lw v0,0x64(sp)
sra v0,v0,0x8
sb v0,0x2(s3)
lw v0,0x64(sp)
sb v0,0x3(s3)
jalr t9
_lw a2,0x64(sp)
li a1,0x1
lw gp,0x20(sp)
lw t9,-0x7f68(gp)
jalr t9
_or a0,s2,zero
or a2,s7,zero
lw v1,0x98(s1)
or s6,v0,zero
lw gp,0x20(sp)
or a3,s6,zero
lw v0,0x8c(s0)
or a1,s3,zero
lw a0,0xc(v1)
lw t9,-0x7984(gp)
sw v0,0x14(sp)
jalr t9
_sw s2,0x10(sp)
lw gp,0x20(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4fb4
bal 0x0003b04c
_li a0,0x1f
li a2,0x4
lw gp,0x20(sp)
addiu a1,sp,0x88
sw v0,0x13c(s0)
or a0,v0,zero
sw zero,0x88(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x510c
bal 0x0003aef4
_or s7,v0,zero
or a2,s2,zero
lw gp,0x20(sp)
or a1,s6,zero
lw v0,0x0(s7)
lw a0,0x13c(s0)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4edc
bal 0x0003b124
_sw v0,0x18(s7)
or a0,s1,zero
lw gp,0x20(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,0x6280
bal 0x00046280
_lw a1,0x13c(s0)
or a3,s2,zero
lw v0,0x98(s1)
or a2,s6,zero
lw a1,0xc(s1)
or t9,s4,zero
lw a0,0xc(v0)
bal 0x0003a1bc
_addiu a0,a0,0x8
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s3,zero
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s5,zero
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s6,zero
lw gp,0x20(sp)
lw t9,-0x7980(gp)
jalr t9
_lw a0,0x8c(s0)
lw gp,0x20(sp)
li v0,0x1c91
b 0x00042f18
_sw v0,0x0(s0)
lw t9,-0x797c(gp)
li v0,0x1
lw a0,0x98(s1)
bal 0x0005fc60
_sw v0,0x184(s1)
or a0,s1,zero
lw gp,0x20(sp)
lw v1,0x98(s1)
sw v0,0xe8(s1)
li v0,0x1e
sw v0,0x38(s0)
li v0,0x1f
lw s2,-0x7c10(gp)
lw a1,-0x7fc8(gp)
lw a2,0x4(v1)
addiu s2,s2,0x6ce8
sw v0,0x3c(s0)
or t9,s2,zero
bal 0x00036ce8
_addiu a1,a1,0x5b78
b 0x00043d90
_lw gp,0x20(sp)
beq s4,zero,0x000456fc
_slti s2,s2,0x2
bne s2,zero,0x00045ef0
_lw a3,-0x7fc8(gp)
lw a3,-0x7f80(gp)
lw v0,-0x7fc8(gp)
addiu a3,a3,0x330
addiu v0,v0,0x5850
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7c10(gp)
or a2,s4,zero
sw v0,0x10(sp)
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x5f5c
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s4,zero
lw gp,0x20(sp)
lw t9,-0x7978(gp)
lw a1,0x88(s0)
jalr t9
_lw a0,0x9c(s1)
lw gp,0x20(sp)
lw a0,0x110(s1)
sw v0,0x78(s0)
lw a1,-0x7fc8(gp)
lw t9,-0x7f44(gp)
jalr t9
_addiu a1,a1,0x5f90
lw gp,0x20(sp)
lw a1,0x78(s0)
lw t9,-0x7f44(gp)
jalr t9
_lw a0,0x110(s1)
or a0,s1,zero
lw gp,0x20(sp)
lw a3,0x88(s0)
lw a2,0x9c(s1)
lw t9,-0x7974(gp)
bal 0x0003e9fc
_lw a1,0x78(s0)
lw gp,0x20(sp)
beq v0,zero,0x00045f54
_sw v0,0x140(s0)
bgez v0,0x000430c8
_lw t9,-0x7fa0(gp)
lw a0,0x10(s1)
beq a0,zero,0x0004578c
_nop
lw v0,0x0(a0)
lw t9,0x18(v0)
jalr t9
_li a1,0x1
lw gp,0x20(sp)
lw v0,0x9c(s1)
li v1,0x1
lw a2,0xfc(s1)
lw a1,0xf8(s1)
lw t9,-0x7970(gp)
lw a3,0x34(v0)
lw v0,-0x7a78(gp)
sw s1,0x1c(sp)
addiu v0,v0,-0xf58
sw v0,0x18(sp)
lw v0,0x78(s0)
lw a0,0x110(s1)
sw v1,0x260(s1)
sw v0,0x14(sp)
lw v0,0x74(s0)
jalr t9
_sw v0,0x10(sp)
lw gp,0x20(sp)
bgez v0,0x00043094
_sw v0,0x140(s0)
li v0,0x1cf9
b 0x00042f18
_sw v0,0x0(s0)
lw a1,-0x7fc8(gp)
li v0,0x1
or a3,zero,zero
or a2,zero,zero
sw v0,0x10(sp)
addiu a1,a1,0x5ad0
lw t9,-0x7adc(gp)
addiu t9,t9,0x7994
bal 0x00047994
_or a0,s1,zero
lw gp,0x20(sp)
b 0x00042f18
_sw zero,0x0(s0)
lw v0,0x60(s1)
bne v0,zero,0x0004339c
_nop
b 0x00043418
_lw v0,0x88(s1)
lw t9,-0x7f60(gp)
jalr t9
_or a0,a2,zero
lw gp,0x20(sp)
b 0x00043ca0
_or s5,v0,zero
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x6160
lw v0,0x64(s1)
bne v0,zero,0x000447c0
_nop
b 0x0004483c
_lw v0,0x8c(s1)
lw t9,-0x7fc4(gp)
jalr t9
_sw zero,0x694(s1)
li a1,0x1a
lw gp,0x20(sp)
lw a0,0x248(s1)
lw t9,-0x7f3c(gp)
jalr t9
_sw v0,0x69c(s1)
beq v0,zero,0x00043eb4
_lw gp,0x20(sp)
lw t9,-0x7f3c(gp)
li a1,0x1a
jalr t9
_lw a0,0x248(s1)
ori a0,zero,0xea60
lw gp,0x20(sp)
or a2,s1,zero
mul a0,v0,a0
lw a1,-0x7a78(gp)
lw t9,-0x7e08(gp)
jalr t9
_addiu a1,a1,-0x1014
lw gp,0x20(sp)
b 0x00043eb4
_sw v0,0x698(s1)
lw a3,-0x7fc8(gp)
b 0x000433dc
_addiu a3,a3,0x585c
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5b44
lw v0,0x6cc(s1)
bne v0,zero,0x00045d2c
_lw t9,-0x7430(gp)
or a1,s2,zero
jalr t9
_lw a0,0xa0(s1)
bne v0,zero,0x00045fa8
_lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_or a0,s2,zero
b 0x000430dc
_lw v0,0x9c(s1)
li a0,0x22
addiu t9,t9,-0x4fb4
bal 0x0003b04c
_addiu s3,sp,0x88
li v1,0x400
lw gp,0x20(sp)
li a2,0x4
sw v0,0x13c(s0)
or a0,v0,zero
sw v1,0x88(sp)
lw s2,-0x7adc(gp)
addiu s2,s2,-0x510c
or t9,s2,zero
bal 0x0003aef4
_or a1,s3,zero
lw gp,0x20(sp)
lw a1,0x8(s0)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4e34
bal 0x0003b1cc
_lw a0,0x13c(s0)
li v0,0x2000
lw a0,0x13c(s0)
li a2,0x4
or a1,s3,zero
or t9,s2,zero
bal 0x0003aef4
_sw v0,0x88(sp)
b 0x00044330
_lw gp,0x20(sp)
bne v1,zero,0x000459a4
_nop
li v0,0x2000
b 0x000442f4
_sw v0,0x8(s0)
b 0x00045338
_or v0,zero,zero
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5c08
lw a3,-0x7fc8(gp)
b 0x00044800
_addiu a3,a3,0x585c
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5dcc
b 0x000433f4
_addiu v0,v0,0x4f64
b 0x0004507c
_addiu s2,s2,-0x5424
lw t9,-0x7f6c(gp)
jalr t9
_or a0,s5,zero
b 0x00045240
_lw gp,0x20(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5d04
or a2,s2,zero
lw t9,-0x7c10(gp)
or a0,s1,zero
addiu t9,t9,0x6ce8
bal 0x00036ce8
_addiu a1,a1,0x6274
b 0x000448a0
_lw gp,0x20(sp)
lw a1,-0x7fc8(gp)
or a3,zero,zero
or a2,zero,zero
sw v0,0x10(sp)
b 0x00045800
_addiu a1,a1,0x5a80
b 0x00044818
_addiu v0,v0,0x4f64
lw t9,-0x796c(gp)
lw a1,0x28(s0)
bal 0x00060114
_lw a0,0xe8(s1)
or a1,zero,zero
lw gp,0x20(sp)
lw a0,0x110(s1)
lw t9,-0x7a04(gp)
jalr t9
_sw v0,0x2c(s0)
lw gp,0x20(sp)
lw v0,0x98(s1)
lw a3,0x7c(s0)
lw a2,0x68(s0)
lw t9,-0x7adc(gp)
lw a0,0xc(v0)
lw a1,0xc(s1)
addiu t9,t9,-0x5e44
bal 0x0003a1bc
_addiu a0,a0,0x8
lw gp,0x20(sp)
lw t9,-0x79c8(gp)
bal 0x0005fc50
_lw a0,0x98(s1)
bne v0,zero,0x00045dfc
_lw gp,0x20(sp)
lw s2,-0x7adc(gp)
addiu s2,s2,-0x5d90
lw v0,0x98(s1)
or t9,s2,zero
lw a2,0x24(s0)
lw a1,0xc(s1)
bal 0x0003a270
_lw a0,0xc(v0)
or t9,s2,zero
lw v0,0x98(s1)
lw a2,0x28(s0)
lw a1,0xc(s1)
bal 0x0003a270
_lw a0,0xc(v0)
lw gp,0x20(sp)
lw t9,-0x7ab4(gp)
bal 0x0005fd84
_lw a0,0xe8(s1)
lw gp,0x20(sp)
lw t9,-0x79c0(gp)
bal 0x00057554
_lw a0,0x28(s0)
lw gp,0x20(sp)
lw t9,-0x79c8(gp)
bal 0x0005fc50
_lw a0,0x98(s1)
beq v0,zero,0x0004446c
_lw gp,0x20(sp)
lw t9,-0x79c0(gp)
bal 0x00057554
_lw a0,0x20(s0)
lw gp,0x20(sp)
lw t9,-0x79c0(gp)
bal 0x00057554
_lw a0,0x1c(s0)
b 0x00044470
_lw v0,0x98(s1)
lw a1,-0x7fc8(gp)
or a3,zero,zero
or a2,zero,zero
sw v0,0x10(sp)
b 0x00045800
_addiu a1,a1,0x5aac
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5f1c
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5ea4
lw v0,0x9c(s1)
lw a0,0x110(s1)
lw a1,0x30(v0)
lw a3,-0x7a78(gp)
or a2,a1,zero
lw a1,-0x7fc8(gp)
lw t9,-0x79fc(gp)
addiu a3,a3,-0xf58
sw s1,0x10(sp)
jalr t9
_addiu a1,a1,0x5a9c
lw gp,0x20(sp)
b 0x00043cf8
_sw v0,0x140(s0)
bne s6,zero,0x00045c94
_lw t9,0x5c(sp)
or a2,s8,zero
or a1,s2,zero
jalr t9
_or a0,s4,zero
beq v0,zero,0x00045c94
_lw gp,0x20(sp)
lw v0,0x44(sp)
beq v0,zero,0x00045c9c
_sll v0,s6,0x1
lw v1,0x58(sp)
lw s3,-0x79c4(gp)
or s2,zero,zero
addu v0,v0,s6
addiu s4,v1,0x1ed8
sll v0,v0,0x2
li s6,0x6
addu v0,s0,v0
lw v1,0x210(v0)
lw v0,0x214(v0)
sw v1,0x9c(s1)
sw v0,0x10(s0)
b 0x00045c38
_sw zero,0x6c8(s1)
addiu s2,s2,0x1
beq s2,s6,0x00043b04
_addiu s4,s4,0x8
lw s3,0x0(s4)
lw v1,0x9c(s1)
beq v1,s3,0x00045c24
_lw a2,0x64(sp)
lw a1,0x60(sp)
lw t9,0x28(sp)
jalr t9
_lw a0,0x30(s3)
beq v0,zero,0x00045c24
_lw gp,0x20(sp)
lw t9,-0x7988(gp)
lw a2,0x34(s3)
lw a1,0xfc(s1)
jalr t9
_lw a0,0xf8(s1)
bne v0,zero,0x00045c24
_nop
lw v1,0x6c8(s1)
addiu v0,v1,0x1ac
addiu v1,v1,0x1
sll v0,v0,0x2
sw v1,0x6c8(s1)
addu v0,s1,v0
b 0x00045c24
_sw s2,0x0(v0)
b 0x00045be0
_sw zero,0x144(s0)
addu v0,v0,s6
sll v0,v0,0x2
addu v0,s0,v0
lw v1,0x150(v0)
lw v0,0x154(v0)
sw v1,0x98(s1)
b 0x000452b4
_sw v0,0xc(s0)
lw t9,-0x7f44(gp)
lw a0,0x110(s1)
jalr t9
_addiu a1,a1,0x59f0
b 0x000452d4
_lw s2,0x2c(sp)
lw t9,-0x79e8(gp)
jalr t9
_lw a0,0x90(s0)
lw gp,0x20(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5cb4
li v0,0x1
or a3,zero,zero
or a2,zero,zero
sw v0,0x10(sp)
b 0x00045800
_addiu a1,a1,0x6028
lw v0,0x12c(s0)
bne v0,zero,0x00046040
_li v1,0x1
lw v0,0x130(s0)
beq v0,zero,0x00043ec8
_sw v1,0x12c(s0)
b 0x00044e58
_sw zero,0x130(s0)
lw t9,-0x7978(gp)
lw a1,0x88(s0)
jalr t9
_lw a0,0x9c(s1)
lw gp,0x20(sp)
lw a0,0x110(s1)
sw v0,0x78(s0)
lw a1,-0x7fc8(gp)
lw t9,-0x7f44(gp)
jalr t9
_addiu a1,a1,0x604c
lw gp,0x20(sp)
lw a1,0x78(s0)
lw t9,-0x7f44(gp)
jalr t9
_lw a0,0x110(s1)
lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_lw a0,0x78(s0)
lw v0,0x9c(s1)
lw gp,0x20(sp)
lw a3,0x74(s0)
lw a1,0xfc(s1)
lw a2,0x34(v0)
lw t9,-0x7968(gp)
jalr t9
_lw a0,0xf8(s1)
lw v0,0x74(s0)
sw zero,0x6cc(s1)
b 0x000430d8
_sw v0,0xa0(s1)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5efc
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5c94
lw t9,-0x79e8(gp)
jalr t9
_lw a0,0x90(s0)
lw gp,0x20(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5d28
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x59a8
lw v1,0x98(s1)
addiu s8,sp,0x88
lw v0,0x50(s1)
lw a0,0xc(s1)
lw v1,0xc(v1)
andi v0,v0,0x1000
bne v0,zero,0x00045e40
_lw t9,0x8(v1)
li v0,0x400
li a2,0x4
sw v0,0x88(sp)
jalr t9
_or a1,s8,zero
lw v0,0x98(s1)
lw a0,0xc(s1)
lw v0,0xc(v0)
lw t9,0x8(v0)
lw v0,0x8(s0)
li a2,0x4
or a1,s8,zero
jalr t9
_sw v0,0x88(sp)
lw v0,0x50(s1)
andi v0,v0,0x1000
bne v0,zero,0x00045e8c
_lw gp,0x20(sp)
lw v0,0x98(s1)
li a2,0x4
lw a0,0xc(s1)
or a1,s8,zero
lw v0,0xc(v0)
lw t9,0x8(v0)
li v0,0x2000
jalr t9
_sw v0,0x88(sp)
lw gp,0x20(sp)
lw v0,0x98(s1)
lw s2,-0x7adc(gp)
lw a2,0x1c(s0)
lw a1,0xc(s1)
addiu s2,s2,-0x5d90
or t9,s2,zero
bal 0x0003a270
_lw a0,0xc(v0)
or t9,s2,zero
lw v0,0x98(s1)
lw a2,0x20(s0)
lw a1,0xc(s1)
bal 0x0003a270
_lw a0,0xc(v0)
b 0x00045ac8
_lw v0,0x98(s1)
sll v0,s6,0x1
addu v0,v0,s6
sll v0,v0,0x2
addu v0,s0,v0
lw v1,0x390(v0)
sw v1,0x4c(s0)
lw v0,0x394(v0)
b 0x00043b04
_sw v0,0x18(s0)
lw v0,-0x7fc8(gp)
addiu a3,a3,0x4f64
b 0x000456c8
_addiu v0,v0,-0x608
jalr t9
_lw a0,0x70(s0)
or a1,s6,zero
lw gp,0x20(sp)
or a2,s2,zero
lw v0,0x98(s1)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
lw a3,0x0(v0)
jalr t9
_addiu a0,a0,0x5e20
b 0x00043628
_lw gp,0x20(sp)
lw t9,-0x7fa0(gp)
jalr t9
_lw a0,0x70(s0)
lw gp,0x20(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5df4
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5fac
lw t9,-0x79e8(gp)
jalr t9
_lw a0,0x90(s0)
lw gp,0x20(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x5d54
sll v0,s6,0x1
addu v0,v0,s6
sll v0,v0,0x2
addu v0,s0,v0
lw v1,0x2d0(v0)
sw v1,0x48(s0)
lw v0,0x2d4(v0)
b 0x00043b04
_sw v0,0x14(s0)
lw a0,-0x7fc8(gp)
lw t9,-0x7f6c(gp)
b 0x0004361c
_addiu a0,a0,0x6078
sll v0,s6,0x1
addu v0,v0,s6
sll v0,v0,0x2
addu v0,s0,v0
lw v1,0x450(v0)
sw v1,0x50(s0)
lw v0,0x454(v0)
b 0x00043b04
_sw v0,0x58(s0)
li v0,0xc
mul a0,s6,v0
addu v1,a0,s0
lw v0,0x5d0(v1)
b 0x00043b04
_sw v0,0x60(s0)
sll v0,s6,0x1
addu v0,v0,s6
sll v0,v0,0x2
addu v0,s0,v0
lw v1,0x510(v0)
sw v1,0x54(s0)
lw v0,0x514(v0)
b 0x00043b04
_sw v0,0x5c(s0)
lw v0,0x150(s3)
lw t9,0x28(sp)
or a1,s2,zero
jalr t9
_lw a0,0x4(v0)
beq v0,zero,0x00043b70
_lw gp,0x20(sp)
li v0,0x1
b 0x00043b70
_sw v0,0x130(s0)
lw a3,-0x7fc8(gp)
li a2,0x1e21
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7644(gp)
addiu a3,a3,0x7e6c
addiu a1,a1,0x35c0
jalr t9
_addiu a0,a0,0x6230
lw a3,-0x7fc8(gp)
li a2,0x19bf
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7644(gp)
addiu a3,a3,0x7e6c
addiu a1,a1,0x35c0
jalr t9
_addiu a0,a0,0x5970
lw a3,-0x7fc8(gp)
li a2,0x1d37
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7644(gp)
addiu a3,a3,0x7e6c
addiu a1,a1,0x35c0
jalr t9
_addiu a0,a0,0x60a8
lw a3,-0x7fc8(gp)
li a2,0x1c61
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7644(gp)
addiu a3,a3,0x7e6c
addiu a1,a1,0x35c0
jalr t9
_addiu a0,a0,0x5e70
lw a3,-0x7fc8(gp)
li a2,0x1ca2
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7644(gp)
addiu a3,a3,0x7e6c
addiu a1,a1,0x35c0
jalr t9
_addiu a0,a0,0x5ec8
lw a3,-0x7fc8(gp)
li a2,0x18f9
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7644(gp)
addiu a3,a3,0x7e6c
addiu a1,a1,0x35c0
jalr t9
_addiu a0,a0,0x5958
lw a3,-0x7fc8(gp)
li a2,0x18fa
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7644(gp)
addiu a3,a3,0x7e6c
addiu a1,a1,0x35c0
jalr t9
_addiu a0,a0,0x4af0
lw t9,-0x7498(gp)
jalr t9
_nop
(translation_unit "void FUN_00042dec(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  undefined1 uVar9;\n  undefined *puVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  code *pcVar10;\n  undefined *puVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  undefined *puVar15;\n  int iVar16;\n  undefined4 uVar17;\n  int *piVar18;\n  undefined4 *puVar19;\n  uint uVar20;\n  uint uVar21;\n  undefined4 uVar22;\n  int *piVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  int *piVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  int local_90;\n  int *local_8c;\n  int local_80;\n  uint local_74;\n  uint local_6c;\n  int *local_68;\n  int local_58;\n  uint local_54;\n  int *local_50 [4];\n  undefined *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined *local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_000b2f04;\n  puVar15 = PTR_s_acket_from_server___s_000b23a8;\n  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);\n  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);\n  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;\n  piVar18 = (int *)param_1[0x73];\n  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);\n  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);\n  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;\n  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;\n  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;\n  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;\n  piVar14 = local_50[2];\n  if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }\n  if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar18;\n  if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }\nLAB_00042f14:\n  *piVar18 = 0;\n  param_1 = piVar14;\nLAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }\n  puVar15 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);\n  param_1[0x5c] = 0;\n  pcVar28 = *(code **)(puVar15 + 0x6c288);\n  param_1[0x5b] = 0;\n  (*pcVar28)(param_1[0x5a]);\n  param_1[0x5a] = 0;\n  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }\n  if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }\n  return;\nLAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }\n  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n  iVar16 = param_1[0x44];\n  piVar18[0x1e] = iVar3;\n  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);\n  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);\n  piVar18[0x50] = iVar3;\n  if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }\n  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n  param_1[0x28] = piVar18[0x1d];\nLAB_000430d8:\n  iVar3 = param_1[0x27];\nLAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);\n  if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }\n  iVar3 = FUN_0003b04c(0x15);\n  piVar18[0x4f] = iVar3;\n  FUN_00046280(param_1,iVar3);\n  param_1[0x1a2] = 0;\n  if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x12];\n  param_1[0x18] = (int)puVar19;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }\n  if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x14];\n  iVar3 = piVar18[0x16];\n  param_1[0x1c] = (int)puVar19;\n  param_1[0x1e] = iVar3;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }\n  if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }\n  iVar3 = piVar18[0x18];\n  param_1[0x22] = iVar3;\n  iVar3 = (**(code **)(iVar3 + 8))();\n  param_1[0x24] = iVar3;\n  if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }\n  if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }\n  if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }\n  param_1[0x59] = 0;\n  if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }\n  param_1[0x57] = 0;\n  FUN_00046148();\n  piVar14 = param_1;\nLAB_000434a4:\n  *piVar18 = 0x1d8a;\n  param_1 = piVar14;\n  goto LAB_00042f18;\ncode_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }\n  iVar16 = iVar16 + 1;\n  piVar14 = piVar14 + 3;\n  if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\n}\n\n" (function_definition "void FUN_00042dec(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  undefined1 uVar9;\n  undefined *puVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  code *pcVar10;\n  undefined *puVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  undefined *puVar15;\n  int iVar16;\n  undefined4 uVar17;\n  int *piVar18;\n  undefined4 *puVar19;\n  uint uVar20;\n  uint uVar21;\n  undefined4 uVar22;\n  int *piVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  int *piVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  int local_90;\n  int *local_8c;\n  int local_80;\n  uint local_74;\n  uint local_6c;\n  int *local_68;\n  int local_58;\n  uint local_54;\n  int *local_50 [4];\n  undefined *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined *local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_000b2f04;\n  puVar15 = PTR_s_acket_from_server___s_000b23a8;\n  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);\n  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);\n  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;\n  piVar18 = (int *)param_1[0x73];\n  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);\n  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);\n  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;\n  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;\n  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;\n  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;\n  piVar14 = local_50[2];\n  if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }\n  if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar18;\n  if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }\nLAB_00042f14:\n  *piVar18 = 0;\n  param_1 = piVar14;\nLAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }\n  puVar15 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);\n  param_1[0x5c] = 0;\n  pcVar28 = *(code **)(puVar15 + 0x6c288);\n  param_1[0x5b] = 0;\n  (*pcVar28)(param_1[0x5a]);\n  param_1[0x5a] = 0;\n  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }\n  if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }\n  return;\nLAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }\n  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n  iVar16 = param_1[0x44];\n  piVar18[0x1e] = iVar3;\n  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);\n  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);\n  piVar18[0x50] = iVar3;\n  if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }\n  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n  param_1[0x28] = piVar18[0x1d];\nLAB_000430d8:\n  iVar3 = param_1[0x27];\nLAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);\n  if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }\n  iVar3 = FUN_0003b04c(0x15);\n  piVar18[0x4f] = iVar3;\n  FUN_00046280(param_1,iVar3);\n  param_1[0x1a2] = 0;\n  if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x12];\n  param_1[0x18] = (int)puVar19;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }\n  if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x14];\n  iVar3 = piVar18[0x16];\n  param_1[0x1c] = (int)puVar19;\n  param_1[0x1e] = iVar3;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }\n  if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }\n  iVar3 = piVar18[0x18];\n  param_1[0x22] = iVar3;\n  iVar3 = (**(code **)(iVar3 + 8))();\n  param_1[0x24] = iVar3;\n  if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }\n  if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }\n  if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }\n  param_1[0x59] = 0;\n  if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }\n  param_1[0x57] = 0;\n  FUN_00046148();\n  piVar14 = param_1;\nLAB_000434a4:\n  *piVar18 = 0x1d8a;\n  param_1 = piVar14;\n  goto LAB_00042f18;\ncode_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }\n  iVar16 = iVar16 + 1;\n  piVar14 = piVar14 + 3;\n  if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\n}" primitive_type (function_declarator "FUN_00042dec(int *param_1,undefined4 param_2,int param_3,int *param_4)" identifier (parameter_list "(int *param_1,undefined4 param_2,int param_3,int *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  undefined1 uVar9;\n  undefined *puVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  code *pcVar10;\n  undefined *puVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  undefined *puVar15;\n  int iVar16;\n  undefined4 uVar17;\n  int *piVar18;\n  undefined4 *puVar19;\n  uint uVar20;\n  uint uVar21;\n  undefined4 uVar22;\n  int *piVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  int *piVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  int local_90;\n  int *local_8c;\n  int local_80;\n  uint local_74;\n  uint local_6c;\n  int *local_68;\n  int local_58;\n  uint local_54;\n  int *local_50 [4];\n  undefined *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined *local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_000b2f04;\n  puVar15 = PTR_s_acket_from_server___s_000b23a8;\n  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);\n  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);\n  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;\n  piVar18 = (int *)param_1[0x73];\n  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);\n  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);\n  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;\n  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;\n  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;\n  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;\n  piVar14 = local_50[2];\n  if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }\n  if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar18;\n  if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }\nLAB_00042f14:\n  *piVar18 = 0;\n  param_1 = piVar14;\nLAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }\n  puVar15 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);\n  param_1[0x5c] = 0;\n  pcVar28 = *(code **)(puVar15 + 0x6c288);\n  param_1[0x5b] = 0;\n  (*pcVar28)(param_1[0x5a]);\n  param_1[0x5a] = 0;\n  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }\n  if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }\n  return;\nLAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }\n  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n  iVar16 = param_1[0x44];\n  piVar18[0x1e] = iVar3;\n  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);\n  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);\n  piVar18[0x50] = iVar3;\n  if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }\n  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n  param_1[0x28] = piVar18[0x1d];\nLAB_000430d8:\n  iVar3 = param_1[0x27];\nLAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);\n  if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }\n  iVar3 = FUN_0003b04c(0x15);\n  piVar18[0x4f] = iVar3;\n  FUN_00046280(param_1,iVar3);\n  param_1[0x1a2] = 0;\n  if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x12];\n  param_1[0x18] = (int)puVar19;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }\n  if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x14];\n  iVar3 = piVar18[0x16];\n  param_1[0x1c] = (int)puVar19;\n  param_1[0x1e] = iVar3;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }\n  if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }\n  iVar3 = piVar18[0x18];\n  param_1[0x22] = iVar3;\n  iVar3 = (**(code **)(iVar3 + 8))();\n  param_1[0x24] = iVar3;\n  if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }\n  if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }\n  if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }\n  param_1[0x59] = 0;\n  if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }\n  param_1[0x57] = 0;\n  FUN_00046148();\n  piVar14 = param_1;\nLAB_000434a4:\n  *piVar18 = 0x1d8a;\n  param_1 = piVar14;\n  goto LAB_00042f18;\ncode_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }\n  iVar16 = iVar16 + 1;\n  piVar14 = piVar14 + 3;\n  if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined1 uVar9;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "int *local_8c;" primitive_type (pointer_declarator "*local_8c" * identifier) ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "int *local_50 [4];" primitive_type (pointer_declarator "*local_50 [4]" * (array_declarator "local_50 [4]" identifier [ number_literal ])) ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_000b2f04;" (assignment_expression "puVar2 = PTR___stack_chk_guard_000b2f04" identifier = identifier) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8" identifier = identifier) ;) (expression_statement "local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);" (assignment_expression "local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0)" (subscript_expression "local_50[2]" identifier [ number_literal ]) = (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x58b0)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58b0" identifier + number_literal) )))) ;) (expression_statement "local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);" (assignment_expression "local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8)" (subscript_expression "local_50[3]" identifier [ number_literal ]) = (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x58c8)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58c8" identifier + number_literal) )))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000b2f04" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b2f04" * (cast_expression "(int *)PTR___stack_chk_guard_000b2f04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar18 = (int *)param_1[0x73];" (assignment_expression "piVar18 = (int *)param_1[0x73]" identifier = (cast_expression "(int *)param_1[0x73]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x73]" identifier [ number_literal ]))) ;) (expression_statement "local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);" (assignment_expression "local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884)" (subscript_expression "local_50[0]" identifier [ number_literal ]) = (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x5884)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5884" identifier + number_literal) )))) ;) (expression_statement "local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);" (assignment_expression "local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c)" (subscript_expression "local_50[1]" identifier [ number_literal ]) = (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x589c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x589c" identifier + number_literal) )))) ;) (expression_statement "local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;" (assignment_expression "local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58e0" identifier + number_literal)) ;) (expression_statement "local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;" (assignment_expression "local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58f8" identifier + number_literal)) ;) (expression_statement "local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;" (assignment_expression "local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5910" identifier + number_literal)) ;) (expression_statement "local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;" (assignment_expression "local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5934" identifier + number_literal)) ;) (expression_statement "piVar14 = local_50[2];" (assignment_expression "piVar14 = local_50[2]" identifier = (subscript_expression "local_50[2]" identifier [ number_literal ])) ;) (if_statement "if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }" if (parenthesized_expression "(piVar18 == (int *)0x0)" ( (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }" { (expression_statement "piVar14 = (int *)0x1;" (assignment_expression "piVar14 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);" (assignment_expression "piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c)" identifier = (cast_expression "(int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_000b2408)(1,0x74c)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" ( (pointer_expression "*(code *)PTR_safemalloc_000b2408" * (cast_expression "(code *)PTR_safemalloc_000b2408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,0x74c)" ( number_literal , number_literal ))))) ;) (expression_statement "param_1[0x73] = (int)piVar18;" (assignment_expression "param_1[0x73] = (int)piVar18" (subscript_expression "param_1[0x73]" identifier [ number_literal ]) = (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" * identifier) = number_literal) ;) })) (if_statement "if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" if (parenthesized_expression "(param_1[0x3b] != 0)" ( (binary_expression "param_1[0x3b] != 0" (subscript_expression "param_1[0x3b]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5958" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" if (parenthesized_expression "(param_1[0x66] != 2)" ( (binary_expression "param_1[0x66] != 2" (subscript_expression "param_1[0x66]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4af0" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = *piVar18;" (assignment_expression "iVar3 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (if_statement "if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }" if (parenthesized_expression "(iVar3 == 0x1b73)" ( (binary_expression "iVar3 == 0x1b73" identifier == number_literal) )) (compound_statement "{\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }" { (if_statement "if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" { (labeled_statement "LAB_00044348:\n      *piVar18 = 0x1b73;" statement_identifier : (expression_statement "*piVar18 = 0x1b73;" (assignment_expression "*piVar18 = 0x1b73" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }" if (parenthesized_expression "(param_4[2] == 0x1f)" ( (binary_expression "param_4[2] == 0x1f" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }" { (expression_statement "iVar3 = FUN_00037b74(param_4);" (assignment_expression "iVar3 = FUN_00037b74(param_4)" identifier = (call_expression "FUN_00037b74(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "piVar18[7] = iVar3;" (assignment_expression "piVar18[7] = iVar3" (subscript_expression "piVar18[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = FUN_00037b74(param_4);" (assignment_expression "iVar3 = FUN_00037b74(param_4)" identifier = (call_expression "FUN_00037b74(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "piVar18[8] = iVar3;" (assignment_expression "piVar18[8] = iVar3" (subscript_expression "piVar18[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "((piVar18[7] != 0) && (iVar3 != 0))" ( (binary_expression "(piVar18[7] != 0) && (iVar3 != 0)" (parenthesized_expression "(piVar18[7] != 0)" ( (binary_expression "piVar18[7] != 0" (subscript_expression "piVar18[7]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (expression_statement "iVar3 = dh_setup_gex(piVar18[7],iVar3);" (assignment_expression "iVar3 = dh_setup_gex(piVar18[7],iVar3)" identifier = (call_expression "dh_setup_gex(piVar18[7],iVar3)" identifier (argument_list "(piVar18[7],iVar3)" ( (subscript_expression "piVar18[7]" identifier [ number_literal ]) , identifier )))) ;) (expression_statement "param_1[0x3a] = iVar3;" (assignment_expression "param_1[0x3a] = iVar3" (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0xe] = 0x20;" (assignment_expression "piVar18[0xe] = 0x20" (subscript_expression "piVar18[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0xf] = 0x21;" (assignment_expression "piVar18[0xf] = 0x21" (subscript_expression "piVar18[0xf]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));" statement_identifier : (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ba8" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x18)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x18" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) ))) ;)) (expression_statement "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);" (call_expression "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2)" (parenthesized_expression "(*(code *)PTR_set_busy_status_000b296c)" ( (pointer_expression "*(code *)PTR_set_busy_status_000b296c" * (cast_expression "(code *)PTR_set_busy_status_000b296c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],2)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);" (assignment_expression "iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1)" identifier = (call_expression "dh_create_e(param_1[0x3a],piVar18[1] << 1)" identifier (argument_list "(param_1[0x3a],piVar18[1] << 1)" ( (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) , (binary_expression "piVar18[1] << 1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) << number_literal) )))) ;) (expression_statement "piVar18[9] = iVar3;" (assignment_expression "piVar18[9] = iVar3" (subscript_expression "piVar18[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);" (assignment_expression "puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe])" identifier = (cast_expression "(undefined4 *)FUN_0003b04c(piVar18[0xe])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b04c(piVar18[0xe])" identifier (argument_list "(piVar18[0xe])" ( (subscript_expression "piVar18[0xe]" identifier [ number_literal ]) ))))) ;) (expression_statement "piVar18[0x4f] = (int)puVar19;" (assignment_expression "piVar18[0x4f] = (int)puVar19" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar22 = FUN_00037c0c(piVar18[9],&local_54);" (assignment_expression "uVar22 = FUN_00037c0c(piVar18[9],&local_54)" identifier = (call_expression "FUN_00037c0c(piVar18[9],&local_54)" identifier (argument_list "(piVar18[9],&local_54)" ( (subscript_expression "piVar18[9]" identifier [ number_literal ]) , (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" identifier (argument_list "(puVar19,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "FUN_0003b124(puVar19,uVar22,local_54);" (call_expression "FUN_0003b124(puVar19,uVar22,local_54)" identifier (argument_list "(puVar19,uVar22,local_54)" ( identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "(*(code *)PTR_set_busy_status_000b296c)(piVar14,1);" (call_expression "(*(code *)PTR_set_busy_status_000b296c)(piVar14,1)" (parenthesized_expression "(*(code *)PTR_set_busy_status_000b296c)" ( (pointer_expression "*(code *)PTR_set_busy_status_000b296c" * (cast_expression "(code *)PTR_set_busy_status_000b296c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_00043e9c:\n        *piVar18 = 0x1b96;" statement_identifier : (expression_statement "*piVar18 = 0x1b96;" (assignment_expression "*piVar18 = 0x1b96" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5b44" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }" else (compound_statement "{\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5b14" identifier + number_literal)) ;) }))) (labeled_statement "LAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);" statement_identifier : (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15)" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)(puVar15)" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar15)" ( identifier )))) ;)) (labeled_statement "LAB_00043628:\n    FUN_0003822c(param_1,uVar22);" statement_identifier : (expression_statement "FUN_0003822c(param_1,uVar22);" (call_expression "FUN_0003822c(param_1,uVar22)" identifier (argument_list "(param_1,uVar22)" ( identifier , identifier ))) ;)) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) }) (else_clause "else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }" else (compound_statement "{\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }" { (expression_statement "local_8c = param_4;" (assignment_expression "local_8c = param_4" identifier = identifier) ;) (if_statement "if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }" if (parenthesized_expression "(0x1b73 < iVar3)" ( (binary_expression "0x1b73 < iVar3" number_literal < identifier) )) (compound_statement "{\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }" { (if_statement "if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(iVar3 == 0x1c91)" ( (binary_expression "iVar3 == 0x1c91" identifier == number_literal) )) (compound_statement "{\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }" { (if_statement "if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" { (labeled_statement "LAB_00045644:\n          *piVar18 = 0x1c91;" statement_identifier : (expression_statement "*piVar18 = 0x1c91;" (assignment_expression "*piVar18 = 0x1c91" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }" if (parenthesized_expression "(param_4[2] == 0x20)" ( (binary_expression "param_4[2] == 0x20" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }" { (expression_statement "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20)" identifier (argument_list "(param_4,piVar18 + 0x1b,piVar18 + 0x20)" ( identifier , (binary_expression "piVar18 + 0x1b" identifier + number_literal) , (binary_expression "piVar18 + 0x20" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }" if (parenthesized_expression "(piVar18[0x1b] == 0)" ( (binary_expression "piVar18[0x1b] == 0" (subscript_expression "piVar18[0x1b]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ea4" identifier + number_literal)) ;) }) (else_clause "else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }" else (compound_statement "{\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }" { (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_0004446c:\n            iVar3 = param_1[0x26];" statement_identifier : (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);" statement_identifier : (expression_statement "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);" (call_expression "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb])" identifier (argument_list "(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb])" ( (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" * (cast_expression "(undefined4 *)(iVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) ))) ;)) (if_statement "if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }" if (parenthesized_expression "(0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" ( (binary_expression "0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" number_literal < (pointer_expression "*(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" * (cast_expression "(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ec8" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);" (call_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25)" (parenthesized_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))" ( (pointer_expression "**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc)" * (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc)" * (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0xc)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0xc" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) )) (argument_list "(param_1[3],piVar18 + 0x25)" ( (subscript_expression "param_1[3]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) ))) ;) (expression_statement "iVar3 = piVar18[0x22];" (assignment_expression "iVar3 = piVar18[0x22]" identifier = (subscript_expression "piVar18[0x22]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x3a] = 0;" (assignment_expression "param_1[0x3a] = 0" (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5efc" identifier + number_literal)) ;) }) (else_clause "else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }" else (compound_statement "{\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }" { (expression_statement "iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));" (assignment_expression "iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" identifier = (call_expression "(**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" (parenthesized_expression "(**(code **)(param_1[0x27] + 0x28))" ( (pointer_expression "**(code **)(param_1[0x27] + 0x28)" * (pointer_expression "*(code **)(param_1[0x27] + 0x28)" * (cast_expression "(code **)(param_1[0x27] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x27] + 0x28)" ( (binary_expression "param_1[0x27] + 0x28" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" ( identifier , (subscript_expression "piVar18[0x1b]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x20]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" * (cast_expression "(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) )))) ;) (if_statement "if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }" { (expression_statement "iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);" (assignment_expression "iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22])" identifier = (call_expression "(**(code **)(param_1[0x27] + 8))(piVar18[0x22])" (parenthesized_expression "(**(code **)(param_1[0x27] + 8))" ( (pointer_expression "**(code **)(param_1[0x27] + 8)" * (pointer_expression "*(code **)(param_1[0x27] + 8)" * (cast_expression "(code **)(param_1[0x27] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x27] + 8)" ( (binary_expression "param_1[0x27] + 8" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar18[0x22])" ( (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x1d] = iVar3;" (assignment_expression "piVar18[0x1d] = iVar3" (subscript_expression "piVar18[0x1d]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }" if (parenthesized_expression "(piVar18[0x4d] == 0)" ( (binary_expression "piVar18[0x4d] == 0" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);" (assignment_expression "puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_000b2398 + 0x1ed8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ed8)" ( (binary_expression "PTR_DAT_000b2398 + 0x1ed8" identifier + number_literal) )))) ;) (expression_statement "puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;" (assignment_expression "puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0" identifier = (binary_expression "PTR_s_entropy_source_000b23f0 + 0x3a0" identifier + number_literal)) ;) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f54" identifier + number_literal)) ;) (expression_statement "puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;" (assignment_expression "puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac" identifier = identifier) ;) (do_statement "do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );" do (compound_statement "{\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  }" { (if_statement "if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }" if (parenthesized_expression "(((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2]))" ( (binary_expression "((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])" (parenthesized_expression "((undefined *)param_1[0x27] != puVar15)" ( (binary_expression "(undefined *)param_1[0x27] != puVar15" (cast_expression "(undefined *)param_1[0x27]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])) != identifier) )) && (parenthesized_expression "(0 < param_1[0x1b2])" ( (binary_expression "0 < param_1[0x1b2]" number_literal < (subscript_expression "param_1[0x1b2]" identifier [ number_literal ])) ))) )) (compound_statement "{\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }" { (if_statement "if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }" if (parenthesized_expression "(iVar12 != param_1[0x1ac])" ( (binary_expression "iVar12 != param_1[0x1ac]" identifier != (subscript_expression "param_1[0x1ac]" identifier [ number_literal ])) )) (compound_statement "{\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "piVar14 = param_1 + 0x1ad;" (assignment_expression "piVar14 = param_1 + 0x1ad" identifier = (binary_expression "param_1 + 0x1ad" identifier + number_literal)) ;) (do_statement "do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);" do (compound_statement "{\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        }" { (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == param_1[0x1b2]) goto LAB_00044588;" if (parenthesized_expression "(iVar7 == param_1[0x1b2])" ( (binary_expression "iVar7 == param_1[0x1b2]" identifier == (subscript_expression "param_1[0x1b2]" identifier [ number_literal ])) )) (goto_statement "goto LAB_00044588;" goto statement_identifier ;)) (expression_statement "iVar13 = *piVar14;" (assignment_expression "iVar13 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar13 != iVar12)" ( (binary_expression "iVar13 != iVar12" identifier != identifier) )) ;) })) (if_statement "if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }" { (expression_statement "iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);" (assignment_expression "iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6)" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)(puVar6)" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier )))) ;) }) (else_clause "else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }" else (compound_statement "{\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }" { (expression_statement "iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));" (assignment_expression "iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30))" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30))" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(puVar15 + 0x30)" * (cast_expression "(undefined4 *)(puVar15 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x30)" ( (binary_expression "puVar15 + 0x30" identifier + number_literal) )))) )))) ;) }))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "iVar3 = iVar7;" (assignment_expression "iVar3 = iVar7" identifier = identifier) ;) })) (labeled_statement "LAB_00044588:\n                    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "puVar19 = puVar19 + 2;" (assignment_expression "puVar19 = puVar19 + 2" identifier = (binary_expression "puVar19 + 2" identifier + number_literal)) ;) (if_statement "if (iVar12 == 6) goto LAB_000456a8;" if (parenthesized_expression "(iVar12 == 6)" ( (binary_expression "iVar12 == 6" identifier == number_literal) )) (goto_statement "goto LAB_000456a8;" goto statement_identifier ;)) (expression_statement "puVar15 = (undefined *)*puVar19;" (assignment_expression "puVar15 = (undefined *)*puVar19" identifier = (cast_expression "(undefined *)*puVar19" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }" if (parenthesized_expression "(param_1[0x1b3] != 0)" ( (binary_expression "param_1[0x1b3] != 0" (subscript_expression "param_1[0x1b3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }" { (expression_statement "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" identifier = (call_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" (parenthesized_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)" ( (pointer_expression "*(code *)PTR_ssh2_fingerprint_000b29f8" * (cast_expression "(code *)PTR_ssh2_fingerprint_000b29f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x27],piVar18[0x22])" ( (subscript_expression "param_1[0x27]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar16 = param_1[0x44];" (assignment_expression "iVar16 = param_1[0x44]" identifier = (subscript_expression "param_1[0x44]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0x1e] = iVar3;" (assignment_expression "piVar18[0x1e] = iVar3" (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x604c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);" (call_expression "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],piVar18[0x1e])" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1e])" ( (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);" (call_expression "(*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d])" (parenthesized_expression "(*(code *)PTR_store_host_key_000b2a08)" ( (pointer_expression "*(code *)PTR_store_host_key_000b2a08" * (cast_expression "(code *)PTR_store_host_key_000b2a08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d])" ( (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x34)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x34)" ( (binary_expression "param_1[0x27] + 0x34" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "piVar18[0x1d]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = piVar18[0x1d];" (assignment_expression "iVar3 = piVar18[0x1d]" identifier = (subscript_expression "piVar18[0x1d]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x1b3] = 0;" (assignment_expression "param_1[0x1b3] = 0" (subscript_expression "param_1[0x1b3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x28] = iVar3;" (assignment_expression "param_1[0x28] = iVar3" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_000430d8;" goto statement_identifier ;) })) (expression_statement "iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);" (assignment_expression "iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3)" identifier = (call_expression "(*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3)" (parenthesized_expression "(*(code *)PTR_strcmp_000b2f40)" ( (pointer_expression "*(code *)PTR_strcmp_000b2f40" * (cast_expression "(code *)PTR_strcmp_000b2f40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x28],iVar3)" ( (subscript_expression "param_1[0x28]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6078" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "iVar3 = param_1[0x27];" (assignment_expression "iVar3 = param_1[0x27]" identifier = (subscript_expression "param_1[0x27]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_000430dc;" goto statement_identifier ;) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f1c" identifier + number_literal)) ;) }))) }))) }) (else_clause "else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }" else (compound_statement "{\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }" { (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5e7c" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(0x1c91 < iVar3)" ( (binary_expression "0x1c91 < iVar3" number_literal < identifier) )) (compound_statement "{\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }" { (if_statement "if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }" if (parenthesized_expression "(iVar3 == 0x1d8a)" ( (binary_expression "iVar3 == 0x1d8a" identifier == number_literal) )) (compound_statement "{\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }" { (if_statement "if (param_4 == (int *)0x0) goto LAB_000434a4;" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000434a4;" goto statement_identifier ;)) (if_statement "if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }" if (parenthesized_expression "(param_4[2] != 0x15)" ( (binary_expression "param_4[2] != 0x15" (subscript_expression "param_4[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6160" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "param_1[0x1a1] = 0;" (assignment_expression "param_1[0x1a1] = 0" (subscript_expression "param_1[0x1a1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }" if (parenthesized_expression "(param_1[0x1b] != 0)" ( (binary_expression "param_1[0x1b] != 0" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (**(code **)(param_1[0x19] + 4))();\n          }" { (expression_statement "(**(code **)(param_1[0x19] + 4))();" (call_expression "(**(code **)(param_1[0x19] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x19] + 4))" ( (pointer_expression "**(code **)(param_1[0x19] + 4)" * (pointer_expression "*(code **)(param_1[0x19] + 4)" * (cast_expression "(code **)(param_1[0x19] + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x19] + 4)" ( (binary_expression "param_1[0x19] + 4" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar19 = (undefined4 *)piVar18[0x13];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x13]" identifier = (cast_expression "(undefined4 *)piVar18[0x13]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x13]" identifier [ number_literal ]))) ;) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }" { (expression_statement "pcVar28 = (code *)*puVar19;" (assignment_expression "pcVar28 = (code *)*puVar19" identifier = (cast_expression "(code *)*puVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "param_1[0x19] = (int)puVar19;" (assignment_expression "param_1[0x19] = (int)puVar19" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar3 = (*pcVar28)();" (assignment_expression "iVar3 = (*pcVar28)()" identifier = (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0x1b] = iVar3;" (assignment_expression "param_1[0x1b] = iVar3" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }" if (parenthesized_expression "(param_1[0x21] != 0)" ( (binary_expression "param_1[0x21] != 0" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (**(code **)(param_1[0x1d] + 4))();\n          }" { (expression_statement "(**(code **)(param_1[0x1d] + 4))();" (call_expression "(**(code **)(param_1[0x1d] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x1d] + 4))" ( (pointer_expression "**(code **)(param_1[0x1d] + 4)" * (pointer_expression "*(code **)(param_1[0x1d] + 4)" * (cast_expression "(code **)(param_1[0x1d] + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x1d] + 4)" ( (binary_expression "param_1[0x1d] + 4" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar19 = (undefined4 *)piVar18[0x15];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x15]" identifier = (cast_expression "(undefined4 *)piVar18[0x15]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x15]" identifier [ number_literal ]))) ;) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }" { (expression_statement "iVar3 = piVar18[0x17];" (assignment_expression "iVar3 = piVar18[0x17]" identifier = (subscript_expression "piVar18[0x17]" identifier [ number_literal ])) ;) (expression_statement "pcVar28 = (code *)*puVar19;" (assignment_expression "pcVar28 = (code *)*puVar19" identifier = (cast_expression "(code *)*puVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "param_1[0x1d] = (int)puVar19;" (assignment_expression "param_1[0x1d] = (int)puVar19" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x1f] = iVar3;" (assignment_expression "param_1[0x1f] = iVar3" (subscript_expression "param_1[0x1f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (*pcVar28)(param_1[0x1b]);" (assignment_expression "iVar3 = (*pcVar28)(param_1[0x1b])" identifier = (call_expression "(*pcVar28)(param_1[0x1b])" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_1[0x1b])" ( (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) )))) ;) (expression_statement "param_1[0x21] = iVar3;" (assignment_expression "param_1[0x21] = iVar3" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }" if (parenthesized_expression "(param_1[0x25] != 0)" ( (binary_expression "param_1[0x25] != 0" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (**(code **)(param_1[0x23] + 0x18))();\n          }" { (expression_statement "(**(code **)(param_1[0x23] + 0x18))();" (call_expression "(**(code **)(param_1[0x23] + 0x18))()" (parenthesized_expression "(**(code **)(param_1[0x23] + 0x18))" ( (pointer_expression "**(code **)(param_1[0x23] + 0x18)" * (pointer_expression "*(code **)(param_1[0x23] + 0x18)" * (cast_expression "(code **)(param_1[0x23] + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x23] + 0x18)" ( (binary_expression "param_1[0x23] + 0x18" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "iVar3 = piVar18[0x19];" (assignment_expression "iVar3 = piVar18[0x19]" identifier = (subscript_expression "piVar18[0x19]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x23] = iVar3;" (assignment_expression "param_1[0x23] = iVar3" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (**(code **)(iVar3 + 0x14))();" (assignment_expression "iVar3 = (**(code **)(iVar3 + 0x14))()" identifier = (call_expression "(**(code **)(iVar3 + 0x14))()" (parenthesized_expression "(**(code **)(iVar3 + 0x14))" ( (pointer_expression "**(code **)(iVar3 + 0x14)" * (pointer_expression "*(code **)(iVar3 + 0x14)" * (cast_expression "(code **)(iVar3 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0x25] = iVar3;" (assignment_expression "param_1[0x25] = iVar3" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }" if (parenthesized_expression "(param_1[0x19] != 0)" ( (binary_expression "param_1[0x19] != 0" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }" { (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x2c)" * (cast_expression "(undefined4 *)(param_1[0x19] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x2c)" ( (binary_expression "param_1[0x19] + 0x2c" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);" (call_expression "(**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x19] + 0xc))" ( (pointer_expression "**(code **)(param_1[0x19] + 0xc)" * (pointer_expression "*(code **)(param_1[0x19] + 0xc)" * (cast_expression "(code **)(param_1[0x19] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x19] + 0xc)" ( (binary_expression "param_1[0x19] + 0xc" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x1b],uVar22)" ( (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x2c)" * (cast_expression "(undefined4 *)(param_1[0x19] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x2c)" ( (binary_expression "param_1[0x19] + 0x2c" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x24)" * (cast_expression "(undefined4 *)(param_1[0x19] + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x24)" ( (binary_expression "param_1[0x19] + 0x24" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);" (call_expression "(**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x19] + 8))" ( (pointer_expression "**(code **)(param_1[0x19] + 8)" * (pointer_expression "*(code **)(param_1[0x19] + 8)" * (cast_expression "(code **)(param_1[0x19] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x19] + 8)" ( (binary_expression "param_1[0x19] + 8" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x1b],uVar22)" ( (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x19] + 0x24))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x24)" * (cast_expression "(undefined4 *)(param_1[0x19] + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x24)" ( (binary_expression "param_1[0x19] + 0x24" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) })) (if_statement "if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }" if (parenthesized_expression "(param_1[0x1d] == 0)" ( (binary_expression "param_1[0x1d] == 0" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }" { (expression_statement "iVar3 = param_1[0x19];" (assignment_expression "iVar3 = param_1[0x19]" identifier = (subscript_expression "param_1[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar3 != 0) goto LAB_000447c0;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000447c0;" goto statement_identifier ;)) (expression_statement "iVar3 = param_1[0x23];" (assignment_expression "iVar3 = param_1[0x23]" identifier = (subscript_expression "param_1[0x23]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }" else (compound_statement "{\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }" { (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x1d] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x1d] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1d] + 0x30)" ( (binary_expression "param_1[0x1d] + 0x30" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);" (call_expression "(**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x1d] + 8))" ( (pointer_expression "**(code **)(param_1[0x1d] + 8)" * (pointer_expression "*(code **)(param_1[0x1d] + 8)" * (cast_expression "(code **)(param_1[0x1d] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x1d] + 8)" ( (binary_expression "param_1[0x1d] + 8" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x21],uVar22)" ( (subscript_expression "param_1[0x21]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x1d] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x1d] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1d] + 0x30)" ( (binary_expression "param_1[0x1d] + 0x30" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "iVar3 = param_1[0x19];" (assignment_expression "iVar3 = param_1[0x19]" identifier = (subscript_expression "param_1[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }" { (labeled_statement "LAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));" statement_identifier : (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6188" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar3 + 0x34)" * (cast_expression "(undefined4 *)(iVar3 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) )))) ))) ;)) })) (if_statement "if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }" if (parenthesized_expression "(param_1[0x1d] != 0)" ( (binary_expression "param_1[0x1d] != 0" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }" { (if_statement "if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }" if (parenthesized_expression "(param_1[0x1f] == 0)" ( (binary_expression "param_1[0x1f] == 0" (subscript_expression "param_1[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }" else (compound_statement "{\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x585c" identifier + number_literal)) ;) }))) (if_statement "if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }" if (parenthesized_expression "(*(int *)(param_1[0x19] + 0x38) == 0)" ( (binary_expression "*(int *)(param_1[0x19] + 0x38) == 0" (pointer_expression "*(int *)(param_1[0x19] + 0x38)" * (cast_expression "(int *)(param_1[0x19] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x38)" ( (binary_expression "param_1[0x19] + 0x38" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }" { (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }" else (compound_statement "{\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }" { (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x586c" identifier + number_literal)) ;) }))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x61b8" identifier + number_literal) , (pointer_expression "*(undefined4 *)(param_1[0x1d] + 0x34)" * (cast_expression "(undefined4 *)(param_1[0x1d] + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1d] + 0x34)" ( (binary_expression "param_1[0x1d] + 0x34" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) )))) , identifier , identifier ))) ;) })) (expression_statement "iVar3 = param_1[0x23];" (assignment_expression "iVar3 = param_1[0x23]" identifier = (subscript_expression "param_1[0x23]" identifier [ number_literal ])) ;) }))) (if_statement "if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }" if (parenthesized_expression "(*(int *)(iVar3 + 0x24) != 0)" ( (binary_expression "*(int *)(iVar3 + 0x24) != 0" (pointer_expression "*(int *)(iVar3 + 0x24)" * (cast_expression "(int *)(iVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x24)" ( (binary_expression "iVar3 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }" { (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x61ec" identifier + number_literal) ))) ;) })) (expression_statement "freebn(piVar18[0xb]);" (call_expression "freebn(piVar18[0xb])" identifier (argument_list "(piVar18[0xb])" ( (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);" (call_expression "(*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44])" (parenthesized_expression "(*(code *)PTR_update_specials_menu_000b2880)" ( (pointer_expression "*(code *)PTR_update_specials_menu_000b2880" * (cast_expression "(code *)PTR_update_specials_menu_000b2880" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44])" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar6 = PTR_getticks_000b23ac;" (assignment_expression "puVar6 = PTR_getticks_000b23ac" identifier = identifier) ;) (if_statement "if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }" if (parenthesized_expression "(param_1[0x1a8] != 0)" ( (binary_expression "param_1[0x1a8] != 0" (subscript_expression "param_1[0x1a8]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }" { (expression_statement "(*(code *)PTR_logevent_000b242c)(param_1[0x44]);" (call_expression "(*(code *)PTR_logevent_000b242c)(param_1[0x44])" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44])" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) ))) ;) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1[0x1a8] = 0;" (assignment_expression "param_1[0x1a8] = 0" (subscript_expression "param_1[0x1a8]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000448a0;" goto statement_identifier ;) })) (expression_statement "param_1[0x1a5] = 0;" (assignment_expression "param_1[0x1a5] = 0" (subscript_expression "param_1[0x1a5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar6)();" (assignment_expression "iVar3 = (*(code *)puVar6)()" identifier = (call_expression "(*(code *)puVar6)()" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar6 = PTR_conf_get_int_000b2434;" (assignment_expression "puVar6 = PTR_conf_get_int_000b2434" identifier = identifier) ;) (expression_statement "piVar14 = (int *)param_1[0x92];" (assignment_expression "piVar14 = (int *)param_1[0x92]" identifier = (cast_expression "(int *)param_1[0x92]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x92]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x1a7] = iVar3;" (assignment_expression "param_1[0x1a7] = iVar3" (subscript_expression "param_1[0x1a7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,0x1a);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,0x1a)" identifier = (call_expression "(*(code *)puVar6)(piVar14,0x1a)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,0x1a)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }" { (expression_statement "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);" (assignment_expression "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" identifier = (call_expression "(*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" (parenthesized_expression "(*(code *)PTR_conf_get_int_000b2434)" ( (pointer_expression "*(code *)PTR_conf_get_int_000b2434" * (cast_expression "(code *)PTR_conf_get_int_000b2434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x1a)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar14 = (int *)(iVar3 * 60000);" (assignment_expression "piVar14 = (int *)(iVar3 * 60000)" identifier = (cast_expression "(int *)(iVar3 * 60000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 * 60000)" ( (binary_expression "iVar3 * 60000" identifier * number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" identifier = (call_expression "(*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (parenthesized_expression "(*(code *)PTR_schedule_timer_000b2568)" ( (pointer_expression "*(code *)PTR_schedule_timer_000b2568" * (cast_expression "(code *)PTR_schedule_timer_000b2568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" ( identifier , (binary_expression "PTR_LAB_000b28f8 + -0x1014" identifier + number_literal) , identifier )))) ;) (expression_statement "param_1[0x1a6] = iVar3;" (assignment_expression "param_1[0x1a6] = iVar3" (subscript_expression "param_1[0x1a6]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }" statement_identifier : (if_statement "if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }" if (parenthesized_expression "(param_4[2] == 0x14)" ( (binary_expression "param_4[2] == 0x14" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }" { (expression_statement "(*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x620c" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000448a0;" goto statement_identifier ;) }))) }) (else_clause "else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }" else (compound_statement "{\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }" { (if_statement "if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }" if (parenthesized_expression "(iVar3 != 0x1e09)" ( (binary_expression "iVar3 != 0x1e09" identifier != number_literal) )) (compound_statement "{\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }" { (if_statement "if (iVar3 != 0x1cf9) goto LAB_00042f14;" if (parenthesized_expression "(iVar3 != 0x1cf9)" ( (binary_expression "iVar3 != 0x1cf9" identifier != number_literal) )) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;)) (if_statement "if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }" { (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) goto LAB_000457e0;" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (goto_statement "goto LAB_000457e0;" goto statement_identifier ;)) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00043094;" goto statement_identifier ;) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5fe0" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (param_4 != (int *)0x0) goto LAB_00043eb4;" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043eb4;" goto statement_identifier ;)) (if_statement "if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }" if (parenthesized_expression "(param_3 < 0)" ( (binary_expression "param_3 < 0" identifier < number_literal) )) (compound_statement "{\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }" { (if_statement "if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }" if (parenthesized_expression "(param_3 == -2)" ( (binary_expression "param_3 == -2" identifier == number_literal) )) (compound_statement "{\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }" { (if_statement "if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }" if (parenthesized_expression "(piVar18[0x4b] != 0)" ( (binary_expression "piVar18[0x4b] != 0" (subscript_expression "piVar18[0x4b]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6230" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar18[0x4b] = 1;" (assignment_expression "piVar18[0x4b] = 1" (subscript_expression "piVar18[0x4b]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x4c] == 0) goto LAB_00043ec8;" if (parenthesized_expression "(piVar18[0x4c] == 0)" ( (binary_expression "piVar18[0x4c] == 0" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00043ec8;" goto statement_identifier ;)) (expression_statement "piVar18[0x4c] = 0;" (assignment_expression "piVar18[0x4c] = 0" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) = number_literal) ;) })) (if_statement "if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }" if (parenthesized_expression "((param_1[0x14] & 0x40U) == 0)" ( (binary_expression "(param_1[0x14] & 0x40U) == 0" (parenthesized_expression "(param_1[0x14] & 0x40U)" ( (binary_expression "param_1[0x14] & 0x40U" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }" { (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6274" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_000448a0;" goto statement_identifier ;) })) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6248" identifier + number_literal) , identifier ))) ;) (expression_statement "piVar14 = (int *)param_1[0x92];" (assignment_expression "piVar14 = (int *)param_1[0x92]" identifier = (cast_expression "(int *)param_1[0x92]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x92]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x1a2] = 0;" (assignment_expression "param_1[0x1a2] = 0" (subscript_expression "param_1[0x1a2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar15 = PTR_conf_get_int_000b2434;" (assignment_expression "puVar15 = PTR_conf_get_int_000b2434" identifier = identifier) ;) (expression_statement "param_1[0x1a1] = 0;" (assignment_expression "param_1[0x1a1] = 0" (subscript_expression "param_1[0x1a1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar15)(piVar14,0x1a);" (assignment_expression "iVar3 = (*(code *)puVar15)(piVar14,0x1a)" identifier = (call_expression "(*(code *)puVar15)(piVar14,0x1a)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,0x1a)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }" { (expression_statement "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);" (assignment_expression "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" identifier = (call_expression "(*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" (parenthesized_expression "(*(code *)PTR_conf_get_int_000b2434)" ( (pointer_expression "*(code *)PTR_conf_get_int_000b2434" * (cast_expression "(code *)PTR_conf_get_int_000b2434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x1a)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar14 = (int *)(iVar3 * 60000);" (assignment_expression "piVar14 = (int *)(iVar3 * 60000)" identifier = (cast_expression "(int *)(iVar3 * 60000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 * 60000)" ( (binary_expression "iVar3 * 60000" identifier * number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" identifier = (call_expression "(*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (parenthesized_expression "(*(code *)PTR_schedule_timer_000b2568)" ( (pointer_expression "*(code *)PTR_schedule_timer_000b2568" * (cast_expression "(code *)PTR_schedule_timer_000b2568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" ( identifier , (binary_expression "PTR_LAB_000b28f8 + -0x1014" identifier + number_literal) , identifier )))) ;) (expression_statement "param_1[0x1a6] = iVar3;" (assignment_expression "param_1[0x1a6] = iVar3" (subscript_expression "param_1[0x1a6]" identifier [ number_literal ]) = identifier) ;) })) })) }))) (labeled_statement "LAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" statement_identifier : (if_statement "if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" if (parenthesized_expression "(param_1[0x8e] == 0)" ( (binary_expression "param_1[0x8e] == 0" (subscript_expression "param_1[0x8e]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }" { (expression_statement "param_1[0x8e] = 1;" (assignment_expression "param_1[0x8e] = 1" (subscript_expression "param_1[0x8e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0003f3f4(param_1,0,0,0);" (call_expression "FUN_0003f3f4(param_1,0,0,0)" identifier (argument_list "(param_1,0,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "*piVar18 = 0x1e09;" (assignment_expression "*piVar18 = 0x1e09" (pointer_expression "*piVar18" * identifier) = number_literal) ;) }) (else_clause "else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" else (compound_statement "{\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" { (expression_statement "*piVar18 = 0x1e09;" (assignment_expression "*piVar18 = 0x1e09" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) })))) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(iVar3 == 0x1bec)" ( (binary_expression "iVar3 == 0x1bec" identifier == number_literal) )) (compound_statement "{\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (if_statement "if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }" { (if_statement "if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }" if (parenthesized_expression "(param_4[2] == 0x1f)" ( (binary_expression "param_4[2] == 0x1f" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }" { (expression_statement "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704)" identifier = (cast_expression "(code *)(PTR_LAB_000b2760 + 0x7704)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b2760 + 0x7704)" ( (binary_expression "PTR_LAB_000b2760 + 0x7704" identifier + number_literal) )))) ;) (expression_statement "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" identifier (argument_list "(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" ( identifier , (binary_expression "piVar18 + 0x1a" identifier + number_literal) , (binary_expression "piVar18 + 0x1f" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }" if (parenthesized_expression "(piVar18[0x1a] == 0)" ( (binary_expression "piVar18[0x1a] == 0" (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }" { (labeled_statement "LAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;" statement_identifier : (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d04" identifier + number_literal)) ;)) }) (else_clause "else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }" else (compound_statement "{\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }" { (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);" (assignment_expression "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" identifier = (call_expression "(**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (parenthesized_expression "(**(code **)param_1[0x27])" ( (pointer_expression "**(code **)param_1[0x27]" * (pointer_expression "*(code **)param_1[0x27]" * (cast_expression "(code **)param_1[0x27]" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])))) )) (argument_list "((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" ( (cast_expression "(undefined4 *)param_1[0x27]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;" (assignment_expression "puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c" identifier = identifier) ;) (expression_statement "piVar18[0x22] = iVar3;" (assignment_expression "piVar18[0x22] = iVar3" (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);" (assignment_expression "iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54)" identifier = (call_expression "(*(code *)puVar15)(piVar18[0x24],&local_54)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24],&local_54)" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }" { (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d28" identifier + number_literal)) ;) }) (else_clause "else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }" else (compound_statement "{\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }" { (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "(*pcVar28)(param_4,&local_58,&local_54);" (call_expression "(*pcVar28)(param_4,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_4,&local_58,&local_54)" ( identifier , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_54" & identifier) ))) ;) (if_statement "if (local_58 == 0) goto LAB_00045a04;" if (parenthesized_expression "(local_58 == 0)" ( (binary_expression "local_58 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00045a04;" goto statement_identifier ;)) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54)" identifier = (call_expression "(*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54)" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_getkey_000b2990)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_getkey_000b2990" * (cast_expression "(code *)PTR_ssh_ecdhkex_getkey_000b2990" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24],local_58,local_54)" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) , identifier , identifier )))) ;) (expression_statement "piVar18[0xb] = iVar3;" (assignment_expression "piVar18[0xb] = iVar3" (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }" { (expression_statement "(*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);" (call_expression "(*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_4,piVar18 + 0x1b,piVar18 + 0x20)" ( identifier , (binary_expression "piVar18 + 0x1b" identifier + number_literal) , (binary_expression "piVar18 + 0x20" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1b] == 0) goto LAB_000459b4;" if (parenthesized_expression "(piVar18[0x1b] == 0)" ( (binary_expression "piVar18[0x1b] == 0" (subscript_expression "piVar18[0x1b]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000459b4;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_0004446c;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d54" identifier + number_literal)) ;) }))) }))) }) (else_clause "else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }" else (compound_statement "{\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }" { (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5cdc" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (labeled_statement "LAB_00044a00:\n        *piVar18 = 0x1bec;" statement_identifier : (expression_statement "*piVar18 = 0x1bec;" (assignment_expression "*piVar18 = 0x1bec" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(iVar3 == 0x1c2a)" ( (binary_expression "iVar3 == 0x1c2a" identifier == number_literal) )) (compound_statement "{\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (if_statement "if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }" { (if_statement "if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }" if (parenthesized_expression "(param_4[2] == 0x1e)" ( (binary_expression "param_4[2] == 0x1e" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }" { (expression_statement "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" identifier (argument_list "(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" ( identifier , (binary_expression "piVar18 + 0x1a" identifier + number_literal) , (binary_expression "piVar18 + 0x1f" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }" if (parenthesized_expression "(piVar18[0x1a] != 0)" ( (binary_expression "piVar18[0x1a] != 0" (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }" { (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);" (assignment_expression "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" identifier = (call_expression "(**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (parenthesized_expression "(**(code **)param_1[0x27])" ( (pointer_expression "**(code **)param_1[0x27]" * (pointer_expression "*(code **)param_1[0x27]" * (cast_expression "(code **)param_1[0x27]" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])))) )) (argument_list "((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" ( (cast_expression "(undefined4 *)param_1[0x27]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x22] = iVar3;" (assignment_expression "piVar18[0x22] = iVar3" (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00037704(param_4,&local_54,piVar18 + 0x21);" (call_expression "FUN_00037704(param_4,&local_54,piVar18 + 0x21)" identifier (argument_list "(param_4,&local_54,piVar18 + 0x21)" ( identifier , (pointer_expression "&local_54" & identifier) , (binary_expression "piVar18 + 0x21" identifier + number_literal) ))) ;) (if_statement "if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }" if (parenthesized_expression "(local_54 != 0)" ( (binary_expression "local_54 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }" { (expression_statement "iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);" (assignment_expression "iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1)" identifier = (call_expression "(*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" ( (pointer_expression "*(code *)PTR_safemalloc_000b2408" * (cast_expression "(code *)PTR_safemalloc_000b2408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x21],1)" ( (subscript_expression "piVar18[0x21]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar18[0x1c] = iVar3;" (assignment_expression "piVar18[0x1c] = iVar3" (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);" (call_expression "(*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21])" (parenthesized_expression "(*(code *)PTR_memcpy_000b2f08)" ( (pointer_expression "*(code *)PTR_memcpy_000b2f08" * (cast_expression "(code *)PTR_memcpy_000b2f08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,local_54,piVar18[0x21])" ( identifier , identifier , (subscript_expression "piVar18[0x21]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21])" identifier = (call_expression "(*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21])" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_newkey_000b2994)" ( (pointer_expression "*(code *)PTR_ssh_rsakex_newkey_000b2994" * (cast_expression "(code *)PTR_ssh_rsakex_newkey_000b2994" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c],piVar18[0x21])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x21]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x23] = iVar3;" (assignment_expression "piVar18[0x23] = iVar3" (subscript_expression "piVar18[0x23]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }" { (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x21]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23])" identifier = (call_expression "(*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23])" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_klen_000b2998)" ( (pointer_expression "*(code *)PTR_ssh_rsakex_klen_000b2998" * (cast_expression "(code *)PTR_ssh_rsakex_klen_000b2998" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x23])" ( (subscript_expression "piVar18[0x23]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar16 = 0x800;" (assignment_expression "iVar16 = 0x800" identifier = number_literal) ;) (if_statement "if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }" if (parenthesized_expression "((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c)" ( (binary_expression "(undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c" (cast_expression "(undefined *)param_1[0x26]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n                    iVar16 = 0x400;\n                  }" { (expression_statement "iVar16 = 0x400;" (assignment_expression "iVar16 = 0x400" identifier = number_literal) ;) })) (if_statement "if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }" if (parenthesized_expression "(iVar3 < iVar16)" ( (binary_expression "iVar3 < iVar16" identifier < identifier) )) (compound_statement "{\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }" { (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26])" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26])" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26])" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5e20" identifier + number_literal) , identifier , identifier , (pointer_expression "*(undefined4 *)param_1[0x26]" * (cast_expression "(undefined4 *)param_1[0x26]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ]))) )))) ;) (goto_statement "goto LAB_00043628;" goto statement_identifier ;) })) (expression_statement "uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);" (assignment_expression "uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31)" identifier = (binary_expression "iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31)" identifier - (parenthesized_expression "(*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31)" ( (binary_expression "*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31" (binary_expression "*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10" (pointer_expression "*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14)" * (cast_expression "(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14)" ( (binary_expression "*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)((undefined *)param_1[0x26] + 0xc)" * (cast_expression "(int *)((undefined *)param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined *)param_1[0x26] + 0xc)" ( (binary_expression "(undefined *)param_1[0x26] + 0xc" (cast_expression "(undefined *)param_1[0x26]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ])) + number_literal) )))) + number_literal) )))) * number_literal) + number_literal) )))) ;) (if_statement "if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5e70" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar16 = bn_power_2(uVar4 - 1);" (assignment_expression "iVar16 = bn_power_2(uVar4 - 1)" identifier = (call_expression "bn_power_2(uVar4 - 1)" identifier (argument_list "(uVar4 - 1)" ( (binary_expression "uVar4 - 1" identifier - number_literal) )))) ;) (expression_statement "piVar18[0xb] = iVar16;" (assignment_expression "piVar18[0xb] = iVar16" (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);" do (compound_statement "{\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  }" { (if_statement "if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }" if (parenthesized_expression "((uVar21 & 7) == 0)" ( (binary_expression "(uVar21 & 7) == 0" (parenthesized_expression "(uVar21 & 7)" ( (binary_expression "uVar21 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }" { (expression_statement "local_80 = (*(code *)PTR_random_byte_000b28d4)();" (assignment_expression "local_80 = (*(code *)PTR_random_byte_000b28d4)()" identifier = (call_expression "(*(code *)PTR_random_byte_000b28d4)()" (parenthesized_expression "(*(code *)PTR_random_byte_000b28d4)" ( (pointer_expression "*(code *)PTR_random_byte_000b28d4" * (cast_expression "(code *)PTR_random_byte_000b28d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) })) (expression_statement "uVar20 = uVar21 + 1;" (assignment_expression "uVar20 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (expression_statement "bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);" (call_expression "bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1)" identifier (argument_list "(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1)" ( (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , identifier , (binary_expression "local_80 >> (uVar21 & 7) & 1" (binary_expression "local_80 >> (uVar21 & 7)" identifier >> (parenthesized_expression "(uVar21 & 7)" ( (binary_expression "uVar21 & 7" identifier & number_literal) ))) & number_literal) ))) ;) (expression_statement "uVar21 = uVar20;" (assignment_expression "uVar21 = uVar20" identifier = identifier) ;) }) while (parenthesized_expression "(uVar4 != uVar20)" ( (binary_expression "uVar4 != uVar20" identifier != identifier) )) ;) (expression_statement "iVar16 = iVar3 + 7 >> 3;" (assignment_expression "iVar16 = iVar3 + 7 >> 3" identifier = (binary_expression "iVar3 + 7 >> 3" (binary_expression "iVar3 + 7" identifier + number_literal) >> number_literal)) ;) (expression_statement "uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);" (assignment_expression "uVar22 = FUN_00037c0c(piVar18[0xb],&local_54)" identifier = (call_expression "FUN_00037c0c(piVar18[0xb],&local_54)" identifier (argument_list "(piVar18[0xb],&local_54)" ( (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "iVar3 = local_54 + 4;" (assignment_expression "iVar3 = local_54 + 4" identifier = (binary_expression "local_54 + 4" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);" (assignment_expression "puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_000b2408)(iVar3,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" ( (pointer_expression "*(code *)PTR_safemalloc_000b2408" * (cast_expression "(code *)PTR_safemalloc_000b2408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,1)" ( identifier , number_literal ))))) ;) (expression_statement "*puVar8 = local_54._0_1_;" (assignment_expression "*puVar8 = local_54._0_1_" (pointer_expression "*puVar8" * identifier) = (field_expression "local_54._0_1_" identifier . field_identifier)) ;) (expression_statement "puVar15 = PTR_memcpy_000b2f08;" (assignment_expression "puVar15 = PTR_memcpy_000b2f08" identifier = identifier) ;) (expression_statement "puVar8[1] = (char)(local_54 >> 0x10);" (assignment_expression "puVar8[1] = (char)(local_54 >> 0x10)" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (cast_expression "(char)(local_54 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(local_54 >> 0x10)" ( (binary_expression "local_54 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "puVar8[2] = (char)(local_54 >> 8);" (assignment_expression "puVar8[2] = (char)(local_54 >> 8)" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = (cast_expression "(char)(local_54 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(local_54 >> 8)" ( (binary_expression "local_54 >> 8" identifier >> number_literal) )))) ;) (expression_statement "puVar8[3] = (char)local_54;" (assignment_expression "puVar8[3] = (char)local_54" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = (cast_expression "(char)local_54" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(*(code *)puVar15)(puVar8 + 4,uVar22,local_54);" (call_expression "(*(code *)puVar15)(puVar8 + 4,uVar22,local_54)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8 + 4,uVar22,local_54)" ( (binary_expression "puVar8 + 4" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);" (assignment_expression "uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1)" identifier = (call_expression "(*(code *)PTR_safemalloc_000b2408)(iVar16,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" ( (pointer_expression "*(code *)PTR_safemalloc_000b2408" * (cast_expression "(code *)PTR_safemalloc_000b2408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,1)" ( identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);" (call_expression "(*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23])" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_encrypt_000b29ec)" ( (pointer_expression "*(code *)PTR_ssh_rsakex_encrypt_000b29ec" * (cast_expression "(code *)PTR_ssh_rsakex_encrypt_000b29ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23])" ( (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" * (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) , identifier , identifier , identifier , identifier , (subscript_expression "piVar18[0x23]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar19 = (undefined4 *)FUN_0003b04c(0x1f);" (assignment_expression "puVar19 = (undefined4 *)FUN_0003b04c(0x1f)" identifier = (cast_expression "(undefined4 *)FUN_0003b04c(0x1f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b04c(0x1f)" identifier (argument_list "(0x1f)" ( number_literal ))))) ;) (expression_statement "piVar18[0x4f] = (int)puVar19;" (assignment_expression "piVar18[0x4f] = (int)puVar19" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" identifier (argument_list "(puVar19,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "iVar3 = piVar18[0x4f];" (assignment_expression "iVar3 = piVar18[0x4f]" identifier = (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])) ;) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "FUN_0003b124(iVar3,uVar17,iVar16);" (call_expression "FUN_0003b124(iVar3,uVar17,iVar16)" identifier (argument_list "(iVar3,uVar17,iVar16)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(puVar8);" (call_expression "(*(code *)PTR_safefree_000b23d0)(puVar8)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar17);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar17)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar17)" ( identifier ))) ;) (expression_statement "piVar14 = (int *)piVar18[0x23];" (assignment_expression "piVar14 = (int *)piVar18[0x23]" identifier = (cast_expression "(int *)piVar18[0x23]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x23]" identifier [ number_literal ]))) ;) (expression_statement "(*(code *)PTR_ssh_rsakex_freekey_000b29f0)();" (call_expression "(*(code *)PTR_ssh_rsakex_freekey_000b29f0)()" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_freekey_000b29f0)" ( (pointer_expression "*(code *)PTR_ssh_rsakex_freekey_000b29f0" * (cast_expression "(code *)PTR_ssh_rsakex_freekey_000b29f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00045644;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5df4" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5dcc" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }" else (compound_statement "{\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5da0" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (labeled_statement "LAB_000451dc:\n        *piVar18 = 0x1c2a;" statement_identifier : (expression_statement "*piVar18 = 0x1c2a;" (assignment_expression "*piVar18 = 0x1c2a" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (iVar3 != 0x1b96) goto LAB_00042f14;" if (parenthesized_expression "(iVar3 != 0x1b96)" ( (binary_expression "iVar3 != 0x1b96" identifier != number_literal) )) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;)) (if_statement "if (param_4 == (int *)0x0) goto LAB_00043e9c;" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043e9c;" goto statement_identifier ;)) (if_statement "if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(param_4[2] != piVar18[0xf])" ( (binary_expression "param_4[2] != piVar18[0xf]" (subscript_expression "param_4[2]" identifier [ number_literal ]) != (subscript_expression "piVar18[0xf]" identifier [ number_literal ])) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5bd8" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);" (call_expression "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2)" (parenthesized_expression "(*(code *)PTR_set_busy_status_000b296c)" ( (pointer_expression "*(code *)PTR_set_busy_status_000b296c" * (cast_expression "(code *)PTR_set_busy_status_000b296c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],2)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" identifier (argument_list "(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" ( identifier , (binary_expression "piVar18 + 0x1a" identifier + number_literal) , (binary_expression "piVar18 + 0x1f" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(piVar18[0x1a] == 0)" ( (binary_expression "piVar18[0x1a] == 0" (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }" { (labeled_statement "LAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;" statement_identifier : (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c08" identifier + number_literal)) ;)) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);" (assignment_expression "iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" identifier = (call_expression "(**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (parenthesized_expression "(**(code **)param_1[0x27])" ( (pointer_expression "**(code **)param_1[0x27]" * (pointer_expression "*(code **)param_1[0x27]" * (cast_expression "(code **)param_1[0x27]" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])))) )) (argument_list "((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" ( (cast_expression "(undefined4 *)param_1[0x27]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x22] = iVar3;" (assignment_expression "piVar18[0x22] = iVar3" (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = FUN_00037b74(param_4);" (assignment_expression "iVar3 = FUN_00037b74(param_4)" identifier = (call_expression "FUN_00037b74(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "piVar18[10] = iVar3;" (assignment_expression "piVar18[10] = iVar3" (subscript_expression "piVar18[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;" if (parenthesized_expression "((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))" ( (binary_expression "(iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0)" ( (comma_expression "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0" (call_expression "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20)" identifier (argument_list "(param_4,piVar18 + 0x1b,piVar18 + 0x20)" ( identifier , (binary_expression "piVar18 + 0x1b" identifier + number_literal) , (binary_expression "piVar18 + 0x20" identifier + number_literal) ))) , (binary_expression "piVar18[0x1b] == 0" (subscript_expression "piVar18[0x1b]" identifier [ number_literal ]) == number_literal)) ))) )) (goto_statement "goto LAB_000459b4;" goto statement_identifier ;)) (expression_statement "iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);" (assignment_expression "iVar3 = dh_validate_f(param_1[0x3a],piVar18[10])" identifier = (call_expression "dh_validate_f(param_1[0x3a],piVar18[10])" identifier (argument_list "(param_1[0x3a],piVar18[10])" ( (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) , (subscript_expression "piVar18[10]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }" { (expression_statement "iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);" (assignment_expression "iVar3 = dh_find_K(param_1[0x3a],piVar18[10])" identifier = (call_expression "dh_find_K(param_1[0x3a],piVar18[10])" identifier (argument_list "(param_1[0x3a],piVar18[10])" ( (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) , (subscript_expression "piVar18[10]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar15 = PTR_set_busy_status_000b296c;" (assignment_expression "puVar15 = PTR_set_busy_status_000b296c" identifier = identifier) ;) (expression_statement "iVar16 = param_1[0x44];" (assignment_expression "iVar16 = param_1[0x44]" identifier = (subscript_expression "param_1[0x44]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0xb] = iVar3;" (assignment_expression "piVar18[0xb] = iVar3" (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)puVar15)(iVar16,0);" (call_expression "(*(code *)puVar15)(iVar16,0)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = dh_is_gex(param_1[0x26]);" (assignment_expression "iVar3 = dh_is_gex(param_1[0x26])" identifier = (call_expression "dh_is_gex(param_1[0x26])" identifier (argument_list "(param_1[0x26])" ( (subscript_expression "param_1[0x26]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar3 = param_1[0x26];\n        }" { (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }" else (compound_statement "{\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }" { (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);" (assignment_expression "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" identifier = (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" * (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }" if (parenthesized_expression "((param_1[0x14] & 0x1000U) == 0)" ( (binary_expression "(param_1[0x14] & 0x1000U) == 0" (parenthesized_expression "(param_1[0x14] & 0x1000U)" ( (binary_expression "param_1[0x14] & 0x1000U" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }" { (expression_statement "local_30 = 0x400;" (assignment_expression "local_30 = 0x400" identifier = number_literal) ;) (expression_statement "(*pcVar28)(iVar3,&local_30,4);" (call_expression "(*pcVar28)(iVar3,&local_30,4)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(iVar3,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);" (assignment_expression "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" identifier = (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" * (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "local_30 = piVar18[2];" (assignment_expression "local_30 = piVar18[2]" identifier = (subscript_expression "piVar18[2]" identifier [ number_literal ])) ;) (expression_statement "(*pcVar28)(iVar3,&local_30,4);" (call_expression "(*pcVar28)(iVar3,&local_30,4)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(iVar3,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (if_statement "if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }" if (parenthesized_expression "((param_1[0x14] & 0x1000U) == 0)" ( (binary_expression "(param_1[0x14] & 0x1000U) == 0" (parenthesized_expression "(param_1[0x14] & 0x1000U)" ( (binary_expression "param_1[0x14] & 0x1000U" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }" { (expression_statement "local_30 = 0x2000;" (assignment_expression "local_30 = 0x2000" identifier = number_literal) ;) (expression_statement "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);" (call_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4)" (parenthesized_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))" ( (pointer_expression "**(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" * (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" * (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) )) (argument_list "(param_1[3],&local_30,4)" ( (subscript_expression "param_1[3]" identifier [ number_literal ]) , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) })) (expression_statement "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);" (call_expression "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7])" identifier (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7])" ( (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" * (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[7]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);" (call_expression "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8])" identifier (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8])" ( (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" * (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[8]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) }))) (expression_statement "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);" (call_expression "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9])" identifier (argument_list "(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9])" ( (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" * (cast_expression "(undefined4 *)(iVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[9]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);" (call_expression "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10])" identifier (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10])" ( (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" * (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[10]" identifier [ number_literal ]) ))) ;) (expression_statement "dh_cleanup(param_1[0x3a]);" (call_expression "dh_cleanup(param_1[0x3a])" identifier (argument_list "(param_1[0x3a])" ( (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) ))) ;) (expression_statement "freebn(piVar18[10]);" (call_expression "freebn(piVar18[10])" identifier (argument_list "(piVar18[10])" ( (subscript_expression "piVar18[10]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = dh_is_gex(param_1[0x26]);" (assignment_expression "iVar3 = dh_is_gex(param_1[0x26])" identifier = (call_expression "dh_is_gex(param_1[0x26])" identifier (argument_list "(param_1[0x26])" ( (subscript_expression "param_1[0x26]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0004446c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004446c;" goto statement_identifier ;)) (expression_statement "freebn(piVar18[8]);" (call_expression "freebn(piVar18[8])" identifier (argument_list "(piVar18[8])" ( (subscript_expression "piVar18[8]" identifier [ number_literal ]) ))) ;) (expression_statement "freebn(piVar18[7]);" (call_expression "freebn(piVar18[7])" identifier (argument_list "(piVar18[7])" ( (subscript_expression "piVar18[7]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00044470;" goto statement_identifier ;) })) (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3)" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3)" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c34" identifier + number_literal) , identifier )))) ;) (goto_statement "goto LAB_00043628;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }" if (parenthesized_expression "(iVar3 == 0x1aff)" ( (binary_expression "iVar3 == 0x1aff" identifier == number_literal) )) (compound_statement "{\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }" { (if_statement "if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }" { (labeled_statement "LAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;" statement_identifier : (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a44" identifier + number_literal)) ;)) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (compound_statement "{\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (labeled_statement "LAB_00043d00:\n        *piVar18 = 0x1aff;" statement_identifier : (expression_statement "*piVar18 = 0x1aff;" (assignment_expression "*piVar18 = 0x1aff" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00044370:\n      piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }" if (parenthesized_expression "(piVar18[0x50] == 0)" ( (binary_expression "piVar18[0x50] == 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5aac" identifier + number_literal)) ;) (goto_statement "goto LAB_00045800;" goto statement_identifier ;) })) (labeled_statement "LAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }" statement_identifier : (if_statement "if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }" if (parenthesized_expression "(piVar18[5] != 0)" ( (binary_expression "piVar18[5] != 0" (subscript_expression "piVar18[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }" { (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar6 = PTR_askalg_000b2974;" (assignment_expression "puVar6 = PTR_askalg_000b2974" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);" (assignment_expression "uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20)" identifier = (pointer_expression "*(undefined4 *)(piVar18[0x12] + 0x20)" * (cast_expression "(undefined4 *)(piVar18[0x12] + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x12] + 0x20)" ( (binary_expression "piVar18[0x12] + 0x20" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "puVar5 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar5 = PTR_LAB_000b28f8 + -0xf58" identifier = (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal)) ;) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1)" identifier = (call_expression "(*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1)" ( identifier , (binary_expression "puVar15 + 0x58b0" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" { (labeled_statement "LAB_0004440c:\n          *piVar18 = 0x1b18;" statement_identifier : (expression_statement "*piVar18 = 0x1b18;" (assignment_expression "*piVar18 = 0x1b18" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (goto_statement "goto LAB_000434e0;" goto statement_identifier ;) }))) (labeled_statement "LAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }" statement_identifier : (if_statement "if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }" if (parenthesized_expression "(piVar18[6] != 0)" ( (binary_expression "piVar18[6] != 0" (subscript_expression "piVar18[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }" { (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar6 = PTR_askalg_000b2974;" (assignment_expression "puVar6 = PTR_askalg_000b2974" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);" (assignment_expression "uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20)" identifier = (pointer_expression "*(undefined4 *)(piVar18[0x13] + 0x20)" * (cast_expression "(undefined4 *)(piVar18[0x13] + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x13] + 0x20)" ( (binary_expression "piVar18[0x13] + 0x20" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "puVar5 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar5 = PTR_LAB_000b28f8 + -0xf58" identifier = (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal)) ;) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1)" identifier = (call_expression "(*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1)" ( identifier , (binary_expression "puVar15 + 0x58c8" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" { (labeled_statement "LAB_000454a0:\n          *piVar18 = 0x1b31;" statement_identifier : (expression_statement "*piVar18 = 0x1b31;" (assignment_expression "*piVar18 = 0x1b31" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (goto_statement "goto LAB_00043578;" goto statement_identifier ;) }))) (labeled_statement "LAB_000435a8:\n      param_4 = (int *)piVar18[0x52];" statement_identifier : (expression_statement "param_4 = (int *)piVar18[0x52];" (assignment_expression "param_4 = (int *)piVar18[0x52]" identifier = (cast_expression "(int *)piVar18[0x52]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x52]" identifier [ number_literal ]))) ;)) (labeled_statement "joined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" statement_identifier : (if_statement "if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (expression_statement "*piVar18 = 0x1b43;" (assignment_expression "*piVar18 = 0x1b43" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) }))) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) (if_statement "if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" ( (binary_expression "*(int *)(iVar3 + 8) == 0" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }" if (parenthesized_expression "(piVar18[0x12] != 0)" ( (binary_expression "piVar18[0x12] != 0" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }" { (expression_statement "iVar16 = *(int *)(piVar18[0x12] + 0x28);" (assignment_expression "iVar16 = *(int *)(piVar18[0x12] + 0x28)" identifier = (pointer_expression "*(int *)(piVar18[0x12] + 0x28)" * (cast_expression "(int *)(piVar18[0x12] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x12] + 0x28)" ( (binary_expression "piVar18[0x12] + 0x28" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) + number_literal) ))))) ;) })) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (if_statement "if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }" if (parenthesized_expression "(piVar18[0x13] != 0)" ( (binary_expression "piVar18[0x13] != 0" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }" { (expression_statement "local_80 = *(int *)(piVar18[0x13] + 0x28);" (assignment_expression "local_80 = *(int *)(piVar18[0x13] + 0x28)" identifier = (pointer_expression "*(int *)(piVar18[0x13] + 0x28)" * (cast_expression "(int *)(piVar18[0x13] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x13] + 0x28)" ( (binary_expression "piVar18[0x13] + 0x28" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) + number_literal) ))))) ;) })) (if_statement "if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }" if (parenthesized_expression "(local_80 <= iVar16)" ( (binary_expression "local_80 <= iVar16" identifier <= identifier) )) (compound_statement "{\n          local_80 = iVar16;\n        }" { (expression_statement "local_80 = iVar16;" (assignment_expression "local_80 = iVar16" identifier = identifier) ;) })) (expression_statement "iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;" (assignment_expression "iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3" identifier = (binary_expression "*(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3" (pointer_expression "*(int *)(*(int *)(iVar3 + 0xc) + 0x14)" * (cast_expression "(int *)(*(int *)(iVar3 + 0xc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0xc) + 0x14)" ( (binary_expression "*(int *)(iVar3 + 0xc) + 0x14" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) + number_literal) )))) << number_literal)) ;) (if_statement "if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }" if (parenthesized_expression "(iVar3 < local_80)" ( (binary_expression "iVar3 < local_80" identifier < identifier) )) (compound_statement "{\n          local_80 = iVar3;\n        }" { (expression_statement "local_80 = iVar3;" (assignment_expression "local_80 = iVar3" identifier = identifier) ;) })) (expression_statement "piVar18[1] = local_80;" (assignment_expression "piVar18[1] = local_80" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = dh_is_gex();" (assignment_expression "iVar3 = dh_is_gex()" identifier = (call_expression "dh_is_gex()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }" { (expression_statement "param_1[0x61] = 1;" (assignment_expression "param_1[0x61] = 1" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = dh_setup_group(param_1[0x26]);" (assignment_expression "iVar3 = dh_setup_group(param_1[0x26])" identifier = (call_expression "dh_setup_group(param_1[0x26])" identifier (argument_list "(param_1[0x26])" ( (subscript_expression "param_1[0x26]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar16 = param_1[0x26];" (assignment_expression "iVar16 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x3a] = iVar3;" (assignment_expression "param_1[0x3a] = iVar3" (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0xe] = 0x1e;" (assignment_expression "piVar18[0xe] = 0x1e" (subscript_expression "piVar18[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)(iVar16 + 4);" (assignment_expression "uVar22 = *(undefined4 *)(iVar16 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + 4)" * (cast_expression "(undefined4 *)(iVar16 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) ))))) ;) (expression_statement "piVar18[0xf] = 0x1f;" (assignment_expression "piVar18[0xf] = 0x1f" (subscript_expression "piVar18[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);" (call_expression "FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22)" identifier (argument_list "(param_1,puVar15 + 0x5b78,uVar22)" ( identifier , (binary_expression "puVar15 + 0x5b78" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_00043d90;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5af0" identifier + number_literal) ))) ;) (expression_statement "iVar16 = piVar18[1];" (assignment_expression "iVar16 = piVar18[1]" identifier = (subscript_expression "piVar18[1]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x61] = 2;" (assignment_expression "param_1[0x61] = 2" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = iVar16 + -1;" (assignment_expression "iVar3 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (if_statement "if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar3 = iVar16 + 0x3e;\n        }" { (expression_statement "iVar3 = iVar16 + 0x3e;" (assignment_expression "iVar3 = iVar16 + 0x3e" identifier = (binary_expression "iVar16 + 0x3e" identifier + number_literal)) ;) })) (expression_statement "iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);" (assignment_expression "iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU)" identifier = (binary_expression "0x200 << (iVar3 >> 6 & 0x1fU)" number_literal << (parenthesized_expression "(iVar3 >> 6 & 0x1fU)" ( (binary_expression "iVar3 >> 6 & 0x1fU" (binary_expression "iVar3 >> 6" identifier >> number_literal) & number_literal) )))) ;) (if_statement "if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }" if (parenthesized_expression "(iVar3 < 0x400)" ( (binary_expression "iVar3 < 0x400" identifier < number_literal) )) (compound_statement "{\n          piVar18[2] = 0x400;\n        }" { (expression_statement "piVar18[2] = 0x400;" (assignment_expression "piVar18[2] = 0x400" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }" else (compound_statement "{\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }" { (if_statement "if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }" if (parenthesized_expression "(0x2000 < iVar3)" ( (binary_expression "0x2000 < iVar3" number_literal < identifier) )) (compound_statement "{\n            iVar3 = 0x2000;\n          }" { (expression_statement "iVar3 = 0x2000;" (assignment_expression "iVar3 = 0x2000" identifier = number_literal) ;) })) (expression_statement "piVar18[2] = iVar3;" (assignment_expression "piVar18[2] = iVar3" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }" if (parenthesized_expression "((param_1[0x14] & 0x1000U) == 0)" ( (binary_expression "(param_1[0x14] & 0x1000U) == 0" (parenthesized_expression "(param_1[0x14] & 0x1000U)" ( (binary_expression "param_1[0x14] & 0x1000U" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }" { (expression_statement "iVar3 = FUN_0003b04c(0x22);" (assignment_expression "iVar3 = FUN_0003b04c(0x22)" identifier = (call_expression "FUN_0003b04c(0x22)" identifier (argument_list "(0x22)" ( number_literal )))) ;) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_30 = 0x400;" (assignment_expression "local_30 = 0x400" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(iVar3,&local_30,4);" (call_expression "FUN_0003aef4(iVar3,&local_30,4)" identifier (argument_list "(iVar3,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b1cc(piVar18[0x4f],piVar18[2]);" (call_expression "FUN_0003b1cc(piVar18[0x4f],piVar18[2])" identifier (argument_list "(piVar18[0x4f],piVar18[2])" ( (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) , (subscript_expression "piVar18[2]" identifier [ number_literal ]) ))) ;) (expression_statement "local_30 = 0x2000;" (assignment_expression "local_30 = 0x2000" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(piVar18[0x4f],&local_30,4);" (call_expression "FUN_0003aef4(piVar18[0x4f],&local_30,4)" identifier (argument_list "(piVar18[0x4f],&local_30,4)" ( (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) }) (else_clause "else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }" else (compound_statement "{\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }" { (expression_statement "iVar3 = FUN_0003b04c(0x1e);" (assignment_expression "iVar3 = FUN_0003b04c(0x1e)" identifier = (call_expression "FUN_0003b04c(0x1e)" identifier (argument_list "(0x1e)" ( number_literal )))) ;) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b1cc(iVar3,piVar18[2]);" (call_expression "FUN_0003b1cc(iVar3,piVar18[2])" identifier (argument_list "(iVar3,piVar18[2])" ( identifier , (subscript_expression "piVar18[2]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_00044348;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 8) != 2)" ( (binary_expression "*(int *)(iVar3 + 8) != 2" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }" { (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d7c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0xc) + 0x18)" ( (binary_expression "*(int *)(iVar3 + 0xc) + 0x18" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "param_1[0x61] = 4;" (assignment_expression "param_1[0x61] = 4" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000451dc;" goto statement_identifier ;) })) (expression_statement "uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();" (assignment_expression "uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)()" identifier = (call_expression "(*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)()" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0" * (cast_expression "(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c60" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x18)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x18" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;" (assignment_expression "puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4" identifier = identifier) ;) (expression_statement "param_1[0x61] = 3;" (assignment_expression "param_1[0x61] = 3" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar15)(param_1[0x26]);" (assignment_expression "iVar3 = (*(code *)puVar15)(param_1[0x26])" identifier = (call_expression "(*(code *)puVar15)(param_1[0x26])" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x26])" ( (subscript_expression "param_1[0x26]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x24] = iVar3;" (assignment_expression "piVar18[0x24] = iVar3" (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c94" identifier + number_literal)) ;) }) (else_clause "else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }" else (compound_statement "{\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }" { (expression_statement "iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54)" identifier = (call_expression "(*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54)" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_getpublic_000b298c" * (cast_expression "(code *)PTR_ssh_ecdhkex_getpublic_000b298c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,&local_54)" ( identifier , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }" { (expression_statement "puVar19 = (undefined4 *)FUN_0003b04c(0x1e);" (assignment_expression "puVar19 = (undefined4 *)FUN_0003b04c(0x1e)" identifier = (cast_expression "(undefined4 *)FUN_0003b04c(0x1e)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b04c(0x1e)" identifier (argument_list "(0x1e)" ( number_literal ))))) ;) (expression_statement "piVar18[0x4f] = (int)puVar19;" (assignment_expression "piVar18[0x4f] = (int)puVar19" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" identifier (argument_list "(puVar19,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "iVar16 = piVar18[0x4f];" (assignment_expression "iVar16 = piVar18[0x4f]" identifier = (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])) ;) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "FUN_0003b124(iVar16,iVar3,local_54);" (call_expression "FUN_0003b124(iVar16,iVar3,local_54)" identifier (argument_list "(iVar16,iVar3,local_54)" ( identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_00044a00;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5cb4" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }" if (parenthesized_expression "(0x1aff < iVar3)" ( (binary_expression "0x1aff < iVar3" number_literal < identifier) )) (compound_statement "{\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }" { (if_statement "if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }" if (parenthesized_expression "(iVar3 == 0x1b31)" ( (binary_expression "iVar3 == 0x1b31" identifier == number_literal) )) (compound_statement "{\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }" { (if_statement "if (param_4 != (int *)0x0) goto LAB_00043614;" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043614;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) goto LAB_000454a0;" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (goto_statement "goto LAB_000454a0;" goto statement_identifier ;)) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00043578:\n        piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] != 0) goto LAB_000435a8;" if (parenthesized_expression "(piVar18[0x50] != 0)" ( (binary_expression "piVar18[0x50] != 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_000435a8;" goto statement_identifier ;)) }) (else_clause "else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }" else (compound_statement "{\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }" { (if_statement "if (iVar3 == 0x1b43) goto joined_r0x0004422c;" if (parenthesized_expression "(iVar3 == 0x1b43)" ( (binary_expression "iVar3 == 0x1b43" identifier == number_literal) )) (goto_statement "goto joined_r0x0004422c;" goto statement_identifier ;)) (if_statement "if (iVar3 != 0x1b18) goto LAB_00042f14;" if (parenthesized_expression "(iVar3 != 0x1b18)" ( (binary_expression "iVar3 != 0x1b18" identifier != number_literal) )) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;)) (if_statement "if (param_4 != (int *)0x0) goto LAB_00043614;" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043614;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) goto LAB_0004440c;" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (goto_statement "goto LAB_0004440c;" goto statement_identifier ;)) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (labeled_statement "LAB_000434e0:\n        piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] != 0) goto LAB_00043510;" if (parenthesized_expression "(piVar18[0x50] != 0)" ( (binary_expression "piVar18[0x50] != 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00043510;" goto statement_identifier ;)) }))) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ad0" identifier + number_literal)) ;) (goto_statement "goto LAB_00045800;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }" if (parenthesized_expression "(iVar3 == 0x1a26)" ( (binary_expression "iVar3 == 0x1a26" identifier == number_literal) )) (compound_statement "{\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }" { (labeled_statement "LAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;" statement_identifier : (expression_statement "puVar6 = PTR_DAT_000b2398;" (assignment_expression "puVar6 = PTR_DAT_000b2398" identifier = identifier) ;)) (if_statement "if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(local_8c == (int *)0x0)" ( (binary_expression "local_8c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (expression_statement "*piVar18 = 0x1a26;" (assignment_expression "*piVar18 = 0x1a26" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }" if (parenthesized_expression "(local_8c[2] == 0x14)" ( (binary_expression "local_8c[2] == 0x14" (subscript_expression "local_8c[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }" { (expression_statement "local_6c = 0xfffffffa;" (assignment_expression "local_6c = 0xfffffffa" identifier = number_literal) ;) (expression_statement "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704)" identifier = (cast_expression "(code *)(PTR_LAB_000b2760 + 0x7704)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b2760 + 0x7704)" ( (binary_expression "PTR_LAB_000b2760 + 0x7704" identifier + number_literal) )))) ;) (expression_statement "iVar3 = local_8c[6];" (assignment_expression "iVar3 = local_8c[6]" identifier = (subscript_expression "local_8c[6]" identifier [ number_literal ])) ;) (expression_statement "pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4)" identifier = (cast_expression "(code *)(PTR_LAB_000b2894 + -0x26e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b2894 + -0x26e4)" ( (binary_expression "PTR_LAB_000b2894 + -0x26e4" identifier + number_literal) )))) ;) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5 = PTR_LAB_000b2894;" (assignment_expression "puVar5 = PTR_LAB_000b2894" identifier = identifier) ;) (expression_statement "param_1[0x27] = 0;" (assignment_expression "param_1[0x27] = 0" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "piVar18[0x12] = 0;" (assignment_expression "piVar18[0x12] = 0" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x13] = 0;" (assignment_expression "piVar18[0x13] = 0" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x14] = 0;" (assignment_expression "piVar18[0x14] = 0" (subscript_expression "piVar18[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x15] = 0;" (assignment_expression "piVar18[0x15] = 0" (subscript_expression "piVar18[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x18] = 0;" (assignment_expression "piVar18[0x18] = 0" (subscript_expression "piVar18[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x19] = 0;" (assignment_expression "piVar18[0x19] = 0" (subscript_expression "piVar18[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[4] = 0;" (assignment_expression "piVar18[4] = 0" (subscript_expression "piVar18[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[3] = 0;" (assignment_expression "piVar18[3] = 0" (subscript_expression "piVar18[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[6] = 0;" (assignment_expression "piVar18[6] = 0" (subscript_expression "piVar18[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[5] = 0;" (assignment_expression "piVar18[5] = 0" (subscript_expression "piVar18[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_8c[6] = iVar3 + 0x10;" (assignment_expression "local_8c[6] = iVar3 + 0x10" (subscript_expression "local_8c[6]" identifier [ number_literal ]) = (binary_expression "iVar3 + 0x10" identifier + number_literal)) ;) (expression_statement "piVar18[0x51] = 0;" (assignment_expression "piVar18[0x51] = 0" (subscript_expression "piVar18[0x51]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_68 = piVar18;" (assignment_expression "local_68 = piVar18" identifier = identifier) ;) (while_statement "while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }" while (parenthesized_expression "((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0)" ( (comma_expression "(*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0" (call_expression "(*pcVar28)(local_8c,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_8c,&local_58,&local_54)" ( identifier , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_54" & identifier) ))) , (comma_expression "uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0" (assignment_expression "uVar4 = local_54" identifier = identifier) , (comma_expression "iVar3 = local_58,\n              local_58 != 0" (assignment_expression "iVar3 = local_58" identifier = identifier) , (binary_expression "local_58 != 0" identifier != number_literal)))) )) (compound_statement "{\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }" { (if_statement "if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }" if (parenthesized_expression "(local_74 == 4)" ( (binary_expression "local_74 == 4" identifier == number_literal) )) (compound_statement "{\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }" { (if_statement "if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }" if (parenthesized_expression "((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0))" ( (binary_expression "(piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)" (parenthesized_expression "(piVar18[0x12] == 0)" ( (binary_expression "piVar18[0x12] == 0" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)" ( (comma_expression "iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0" (assignment_expression "iVar16 = *(int *)(piVar18[0x12] + 0x38)" identifier = (pointer_expression "*(int *)(piVar18[0x12] + 0x38)" * (cast_expression "(int *)(piVar18[0x12] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x12] + 0x38)" ( (binary_expression "piVar18[0x12] + 0x38" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) + number_literal) ))))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }" { (labeled_statement "LAB_00043b30:\n              iVar16 = 0;" statement_identifier : (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;)) (expression_statement "piVar14 = local_68;" (assignment_expression "piVar14 = local_68" identifier = identifier) ;) (labeled_statement "LAB_00043b44:\n              iVar12 = piVar14[0x53];" statement_identifier : (expression_statement "iVar12 = piVar14[0x53];" (assignment_expression "iVar12 = piVar14[0x53]" identifier = (subscript_expression "piVar14[0x53]" identifier [ number_literal ])) ;)) (if_statement "if (iVar12 == 0) goto LAB_00043b7c;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00043b7c;" goto statement_identifier ;)) (expression_statement "iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);" (assignment_expression "iVar7 = (*pcVar10)(iVar12,iVar3,uVar4)" identifier = (call_expression "(*pcVar10)(iVar12,iVar3,uVar4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(iVar12,iVar3,uVar4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) goto code_r0x00043b68;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00043b68;" goto statement_identifier ;)) (if_statement "if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 < 2)" ( (binary_expression "local_74 < 2" identifier < number_literal) )) (compound_statement "{\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }" { (if_statement "if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }" if (parenthesized_expression "((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0))" ( (binary_expression "(iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4)" identifier = (call_expression "(*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4)" (parenthesized_expression "(*(code *)(puVar5 + -0x27a4))" ( (pointer_expression "*(code *)(puVar5 + -0x27a4)" * (cast_expression "(code *)(puVar5 + -0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x27a4)" ( (binary_expression "puVar5 + -0x27a4" identifier + number_literal) )))) )) (argument_list "(iVar12,iVar3,uVar4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                  piVar18[0x51] = 0;\n                }" { (expression_statement "piVar18[0x51] = 0;" (assignment_expression "piVar18[0x51] = 0" (subscript_expression "piVar18[0x51]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;" (assignment_expression "puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac" identifier = identifier) ;) (if_statement "if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }" { (expression_statement "iVar3 = piVar18[iVar16 * 3 + 0x55];" (assignment_expression "iVar3 = piVar18[iVar16 * 3 + 0x55]" identifier = (subscript_expression "piVar18[iVar16 * 3 + 0x55]" identifier [ (binary_expression "iVar16 * 3 + 0x55" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "param_1[0x26] = piVar18[iVar16 * 3 + 0x54];" (assignment_expression "param_1[0x26] = piVar18[iVar16 * 3 + 0x54]" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x54]" identifier [ (binary_expression "iVar16 * 3 + 0x54" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[3] = iVar3;" (assignment_expression "piVar18[3] = iVar3" (subscript_expression "piVar18[3]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" statement_identifier : (if_statement "if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" if (parenthesized_expression "(local_74 == 7)" ( (binary_expression "local_74 == 7" identifier == number_literal) )) (compound_statement "{\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" { (if_statement "if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }" if (parenthesized_expression "(piVar18[0x4c] != 0)" ( (binary_expression "piVar18[0x4c] != 0" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }" { (expression_statement "(*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x59f0" identifier + number_literal) ))) ;) })) (expression_statement "(*pcVar28)(local_8c,&local_58,&local_54);" (call_expression "(*pcVar28)(local_8c,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_8c,&local_58,&local_54)" ( identifier , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "(*pcVar28)(local_8c,&local_58,&local_54);" (call_expression "(*pcVar28)(local_8c,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_8c,&local_58,&local_54)" ( identifier , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "iVar3 = local_8c[6];" (assignment_expression "iVar3 = local_8c[6]" identifier = (subscript_expression "local_8c[6]" identifier [ number_literal ])) ;) (if_statement "if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }" if (parenthesized_expression "((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0'))" ( (binary_expression "(*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')" (parenthesized_expression "(*local_8c - iVar3 < 1)" ( (binary_expression "*local_8c - iVar3 < 1" (binary_expression "*local_8c - iVar3" (pointer_expression "*local_8c" * identifier) - identifier) < number_literal) )) || (parenthesized_expression "(cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')" ( (comma_expression "cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0'" (assignment_expression "cVar1 = *(char *)(local_8c[5] + iVar3)" identifier = (pointer_expression "*(char *)(local_8c[5] + iVar3)" * (cast_expression "(char *)(local_8c[5] + iVar3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_8c[5] + iVar3)" ( (binary_expression "local_8c[5] + iVar3" (subscript_expression "local_8c[5]" identifier [ number_literal ]) + identifier) ))))) , (comma_expression "local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0'" (assignment_expression "local_8c[6] = iVar3 + 1" (subscript_expression "local_8c[6]" identifier [ number_literal ]) = (binary_expression "iVar3 + 1" identifier + number_literal)) , (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n                      uVar4 = 0;\n                    }" { (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }" else (compound_statement "{\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }" { (expression_statement "uVar4 = (uint)(piVar18[0x51] == 0);" (assignment_expression "uVar4 = (uint)(piVar18[0x51] == 0)" identifier = (call_expression "(uint)(piVar18[0x51] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar18[0x51] == 0)" ( (binary_expression "piVar18[0x51] == 0" (subscript_expression "piVar18[0x51]" identifier [ number_literal ]) == number_literal) )))) ;) }))) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0x52] = uVar4;" (assignment_expression "piVar18[0x52] = uVar4" (subscript_expression "piVar18[0x52]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();" (assignment_expression "iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))()" identifier = (call_expression "(*(code *)**(undefined4 **)(iVar3 + 0xc))()" (parenthesized_expression "(*(code *)**(undefined4 **)(iVar3 + 0xc))" ( (pointer_expression "*(code *)**(undefined4 **)(iVar3 + 0xc)" * (cast_expression "(code *)**(undefined4 **)(iVar3 + 0xc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar3 + 0xc)" * (pointer_expression "*(undefined4 **)(iVar3 + 0xc)" * (cast_expression "(undefined4 **)(iVar3 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) ))))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar16 = param_1[1];" (assignment_expression "iVar16 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = iVar3;" (assignment_expression "param_1[3] = iVar3" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);" (assignment_expression "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16)" identifier = (call_expression "(*(code *)PTR_strlen_000b2e48)(iVar16)" (parenthesized_expression "(*(code *)PTR_strlen_000b2e48)" ( (pointer_expression "*(code *)PTR_strlen_000b2e48" * (cast_expression "(code *)PTR_strlen_000b2e48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16)" ( identifier )))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "iVar3 = param_1[2];" (assignment_expression "iVar3 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);" (assignment_expression "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3)" identifier = (call_expression "(*(code *)PTR_strlen_000b2e48)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_000b2e48)" ( (pointer_expression "*(code *)PTR_strlen_000b2e48" * (cast_expression "(code *)PTR_strlen_000b2e48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) , (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0xc])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0xc])" ( (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);" (assignment_expression "piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8)" identifier = (cast_expression "(int *)(*(int *)(param_1[0x26] + 0xc) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);" (call_expression "FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1)" identifier (argument_list "(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1)" ( identifier , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (binary_expression "local_8c[5] + -1" (subscript_expression "local_8c[5]" identifier [ number_literal ]) + number_literal) , (binary_expression "*local_8c + 1" (pointer_expression "*local_8c" * identifier) + number_literal) ))) ;) (if_statement "if (piVar18[3] == 0) goto LAB_00043bfc;" if (parenthesized_expression "(piVar18[3] == 0)" ( (binary_expression "piVar18[3] == 0" (subscript_expression "piVar18[3]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00043bfc;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar6 = PTR_askalg_000b2974;" (assignment_expression "puVar6 = PTR_askalg_000b2974" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)param_1[0x26];" (assignment_expression "uVar22 = *(undefined4 *)param_1[0x26]" identifier = (pointer_expression "*(undefined4 *)param_1[0x26]" * (cast_expression "(undefined4 *)param_1[0x26]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ])))) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "puVar26 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar26 = PTR_LAB_000b28f8 + -0xf58" identifier = (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal)) ;) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a2c" identifier + number_literal)) ;) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1)" identifier = (call_expression "(*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,puVar5,uVar22,puVar26,param_1)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 < 0) goto LAB_00045494;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00045494;" goto statement_identifier ;)) (goto_statement "goto LAB_00043bcc;" goto statement_identifier ;) }))) }) (else_clause "else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }" else (compound_statement "{\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "puVar19 = (undefined4 *)(puVar6 + 0x1ed8);" (assignment_expression "puVar19 = (undefined4 *)(puVar6 + 0x1ed8)" identifier = (cast_expression "(undefined4 *)(puVar6 + 0x1ed8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x1ed8)" ( (binary_expression "puVar6 + 0x1ed8" identifier + number_literal) )))) ;) (expression_statement "puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];" (assignment_expression "puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84]" identifier = (cast_expression "(undefined *)piVar18[iVar16 * 3 + 0x84]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[iVar16 * 3 + 0x84]" identifier [ (binary_expression "iVar16 * 3 + 0x84" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ]))) ;) (expression_statement "iVar3 = piVar18[iVar16 * 3 + 0x85];" (assignment_expression "iVar3 = piVar18[iVar16 * 3 + 0x85]" identifier = (subscript_expression "piVar18[iVar16 * 3 + 0x85]" identifier [ (binary_expression "iVar16 * 3 + 0x85" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "param_1[0x27] = (int)puVar11;" (assignment_expression "param_1[0x27] = (int)puVar11" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar18[4] = iVar3;" (assignment_expression "piVar18[4] = iVar3" (subscript_expression "piVar18[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1b2] = 0;" (assignment_expression "param_1[0x1b2] = 0" (subscript_expression "param_1[0x1b2]" identifier [ number_literal ]) = number_literal) ;) (while_statement "while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }" { (if_statement "if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }" if (parenthesized_expression "(((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0))" ( (binary_expression "((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)" (parenthesized_expression "((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0))" ( (binary_expression "(puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)" (parenthesized_expression "(puVar11 != puVar26)" ( (binary_expression "puVar11 != puVar26" identifier != identifier) )) && (parenthesized_expression "(iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)" ( (comma_expression "iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0" (assignment_expression "iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54)" identifier = (call_expression "(*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(undefined4 *)(puVar26 + 0x30),local_58,local_54)" ( (pointer_expression "*(undefined4 *)(puVar26 + 0x30)" * (cast_expression "(undefined4 *)(puVar26 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x30)" ( (binary_expression "puVar26 + 0x30" identifier + number_literal) )))) , identifier , identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34))" identifier = (call_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34))" (parenthesized_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)" ( (pointer_expression "*(code *)PTR_have_ssh_host_key_000b29e8" * (cast_expression "(code *)PTR_have_ssh_host_key_000b29e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34))" ( (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(puVar26 + 0x34)" * (cast_expression "(undefined4 *)(puVar26 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x34)" ( (binary_expression "puVar26 + 0x34" identifier + number_literal) )))) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }" { (expression_statement "iVar3 = param_1[0x1b2];" (assignment_expression "iVar3 = param_1[0x1b2]" identifier = (subscript_expression "param_1[0x1b2]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x1b2] = iVar3 + 1;" (assignment_expression "param_1[0x1b2] = iVar3 + 1" (subscript_expression "param_1[0x1b2]" identifier [ number_literal ]) = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "param_1[iVar3 + 0x1ac] = iVar12;" (assignment_expression "param_1[iVar3 + 0x1ac] = iVar12" (subscript_expression "param_1[iVar3 + 0x1ac]" identifier [ (binary_expression "iVar3 + 0x1ac" identifier + number_literal) ]) = identifier) ;) })) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 2;" (assignment_expression "puVar19 = puVar19 + 2" identifier = (binary_expression "puVar19 + 2" identifier + number_literal)) ;) (if_statement "if (iVar12 == 6) break;" if (parenthesized_expression "(iVar12 == 6)" ( (binary_expression "iVar12 == 6" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar26 = (undefined *)*puVar19;" (assignment_expression "puVar26 = (undefined *)*puVar19" identifier = (cast_expression "(undefined *)*puVar19" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "puVar11 = (undefined *)param_1[0x27];" (assignment_expression "puVar11 = (undefined *)param_1[0x27]" identifier = (cast_expression "(undefined *)param_1[0x27]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ]))) ;) })) }))) }) (else_clause "else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (if_statement "if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 == 2)" ( (binary_expression "local_74 == 2" identifier == number_literal) )) (compound_statement "{\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }" { (expression_statement "piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];" (assignment_expression "piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4]" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0xb4]" identifier [ (binary_expression "iVar16 * 3 + 0xb4" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[5] = piVar18[iVar16 * 3 + 0xb5];" (assignment_expression "piVar18[5] = piVar18[iVar16 * 3 + 0xb5]" (subscript_expression "piVar18[5]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0xb5]" identifier [ (binary_expression "iVar16 * 3 + 0xb5" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (if_statement "if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 == 3)" ( (binary_expression "local_74 == 3" identifier == number_literal) )) (compound_statement "{\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }" { (expression_statement "piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];" (assignment_expression "piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4]" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0xe4]" identifier [ (binary_expression "iVar16 * 3 + 0xe4" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[6] = piVar18[iVar16 * 3 + 0xe5];" (assignment_expression "piVar18[6] = piVar18[iVar16 * 3 + 0xe5]" (subscript_expression "piVar18[6]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0xe5]" identifier [ (binary_expression "iVar16 * 3 + 0xe5" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (if_statement "if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 == 4)" ( (binary_expression "local_74 == 4" identifier == number_literal) )) (compound_statement "{\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }" { (expression_statement "piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];" (assignment_expression "piVar18[0x14] = piVar18[iVar16 * 3 + 0x114]" (subscript_expression "piVar18[0x14]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x114]" identifier [ (binary_expression "iVar16 * 3 + 0x114" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];" (assignment_expression "piVar18[0x16] = piVar18[iVar16 * 3 + 0x115]" (subscript_expression "piVar18[0x16]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x115]" identifier [ (binary_expression "iVar16 * 3 + 0x115" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (if_statement "if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 == 5)" ( (binary_expression "local_74 == 5" identifier == number_literal) )) (compound_statement "{\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }" { (expression_statement "piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];" (assignment_expression "piVar18[0x15] = piVar18[iVar16 * 3 + 0x144]" (subscript_expression "piVar18[0x15]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x144]" identifier [ (binary_expression "iVar16 * 3 + 0x144" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];" (assignment_expression "piVar18[0x17] = piVar18[iVar16 * 3 + 0x145]" (subscript_expression "piVar18[0x17]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x145]" identifier [ (binary_expression "iVar16 * 3 + 0x145" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (compound_statement "{\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" { (if_statement "if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }" if (parenthesized_expression "(local_74 != 6)" ( (binary_expression "local_74 != 6" identifier != number_literal) )) (compound_statement "{\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }" { (expression_statement "piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];" (assignment_expression "piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4]" (subscript_expression "piVar18[0x19]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x1a4]" identifier [ (binary_expression "iVar16 * 3 + 0x1a4" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (goto_statement "goto LAB_000452b4;" goto statement_identifier ;) })) (expression_statement "piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];" (assignment_expression "piVar18[0x18] = piVar18[iVar16 * 3 + 0x174]" (subscript_expression "piVar18[0x18]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x174]" identifier [ (binary_expression "iVar16 * 3 + 0x174" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }))))))))))) }) (else_clause "else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }" else (compound_statement "{\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }" { (expression_statement "iVar3 = *(int *)(iVar16 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar16 + 0x28)" identifier = (pointer_expression "*(int *)(iVar16 + 0x28)" * (cast_expression "(int *)(iVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "piVar18[0x14] = iVar16;" (assignment_expression "piVar18[0x14] = iVar16" (subscript_expression "piVar18[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0x16] = (uint)(iVar3 != 0);" (assignment_expression "piVar18[0x16] = (uint)(iVar3 != 0)" (subscript_expression "piVar18[0x16]" identifier [ number_literal ]) = (call_expression "(uint)(iVar3 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )))) ;) }))) }) (else_clause "else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }" else (compound_statement "{\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }" { (if_statement "if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;" if (parenthesized_expression "(((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0))" ( (binary_expression "((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)" (parenthesized_expression "((local_74 != 5) || (piVar18[0x13] == 0))" ( (binary_expression "(local_74 != 5) || (piVar18[0x13] == 0)" (parenthesized_expression "(local_74 != 5)" ( (binary_expression "local_74 != 5" identifier != number_literal) )) || (parenthesized_expression "(piVar18[0x13] == 0)" ( (binary_expression "piVar18[0x13] == 0" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) == number_literal) ))) )) || (parenthesized_expression "(iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)" ( (comma_expression "iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0" (assignment_expression "iVar16 = *(int *)(piVar18[0x13] + 0x38)" identifier = (pointer_expression "*(int *)(piVar18[0x13] + 0x38)" * (cast_expression "(int *)(piVar18[0x13] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x13] + 0x38)" ( (binary_expression "piVar18[0x13] + 0x38" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) + number_literal) ))))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00043b30;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(iVar16 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar16 + 0x28)" identifier = (pointer_expression "*(int *)(iVar16 + 0x28)" * (cast_expression "(int *)(iVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "piVar18[0x15] = iVar16;" (assignment_expression "piVar18[0x15] = iVar16" (subscript_expression "piVar18[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0x17] = (uint)(iVar3 != 0);" (assignment_expression "piVar18[0x17] = (uint)(iVar3 != 0)" (subscript_expression "piVar18[0x17]" identifier [ number_literal ]) = (call_expression "(uint)(iVar3 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )))) ;) }))) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (expression_statement "local_68 = local_68 + 0x30;" (assignment_expression "local_68 = local_68 + 0x30" identifier = (binary_expression "local_68 + 0x30" identifier + number_literal)) ;) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x59a8" identifier + number_literal)) ;) }) (else_clause "else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }" else (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x597c" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }" if (parenthesized_expression "(iVar3 == 0x1abc)" ( (binary_expression "iVar3 == 0x1abc" identifier == number_literal) )) (compound_statement "{\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }" { (if_statement "if (param_4 != (int *)0x0) goto LAB_00043614;" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043614;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (compound_statement "{\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (labeled_statement "LAB_00045494:\n        *piVar18 = 0x1abc;" statement_identifier : (expression_statement "*piVar18 = 0x1abc;" (assignment_expression "*piVar18 = 0x1abc" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00043bcc:\n      piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }" if (parenthesized_expression "(piVar18[0x50] == 0)" ( (binary_expression "piVar18[0x50] == 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a80" identifier + number_literal)) ;) (goto_statement "goto LAB_00045800;" goto statement_identifier ;) })) (labeled_statement "LAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;" statement_identifier : (if_statement "if (piVar18[4] == 0) goto LAB_000443a0;" if (parenthesized_expression "(piVar18[4] == 0)" ( (binary_expression "piVar18[4] == 0" (subscript_expression "piVar18[4]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000443a0;" goto statement_identifier ;))) (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6 = PTR_DAT_000b2398;" (assignment_expression "puVar6 = PTR_DAT_000b2398" identifier = identifier) ;) (if_statement "if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }" if (parenthesized_expression "(param_1[0x1b2] < 1)" ( (binary_expression "param_1[0x1b2] < 1" (subscript_expression "param_1[0x1b2]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }" { (expression_statement "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);" (assignment_expression "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x30)" ( (binary_expression "param_1[0x27] + 0x30" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar23 = (int *)param_1[0x44];" (assignment_expression "piVar23 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_00045b94:\n        piVar14 = piVar23;" statement_identifier : (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;)) (expression_statement "iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1)" identifier = (call_expression "(*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1)" (parenthesized_expression "(*(code *)PTR_askalg_000b2974)" ( (pointer_expression "*(code *)PTR_askalg_000b2974" * (cast_expression "(code *)PTR_askalg_000b2974" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a9c" identifier + number_literal) , identifier , (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal) , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }" else (compound_statement "{\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }" { (expression_statement "piVar29 = param_1 + 0x1ac;" (assignment_expression "piVar29 = param_1 + 0x1ac" identifier = (binary_expression "param_1 + 0x1ac" identifier + number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x470" identifier + number_literal)) ;) (expression_statement "piVar23 = (int *)0x0;" (assignment_expression "piVar23 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);" do (compound_statement "{\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        }" { (expression_statement "iVar16 = *piVar29;" (assignment_expression "iVar16 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (while_statement "while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }" while (parenthesized_expression "(iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0)" ( (comma_expression "iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0" (assignment_expression "iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12)" identifier = (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" ( (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" * (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x19,iVar12)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal , identifier )))) , (comma_expression "piVar14 = piVar23, iVar7 != 0" (assignment_expression "piVar14 = piVar23" identifier = identifier) , (binary_expression "iVar7 != 0" identifier != number_literal))) )) (compound_statement "{\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }" { (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (if_statement "if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }" if (parenthesized_expression "(*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7)" ( (binary_expression "*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7" (pointer_expression "*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4)" * (cast_expression "(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4)" ( (binary_expression "(int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4" (cast_expression "(int)(puVar6 + iVar16 * 8 + 0x1ed8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar6 + iVar16 * 8 + 0x1ed8)" ( (binary_expression "puVar6 + iVar16 * 8 + 0x1ed8" (binary_expression "puVar6 + iVar16 * 8" identifier + (binary_expression "iVar16 * 8" identifier * number_literal)) + number_literal) ))) + number_literal) )))) == identifier) )) (compound_statement "{\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }" { (expression_statement "uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);" (assignment_expression "uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" * (cast_expression "(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" ( (binary_expression "*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30" (pointer_expression "*(int *)(puVar6 + iVar16 * 8 + 0x1ed8)" * (cast_expression "(int *)(puVar6 + iVar16 * 8 + 0x1ed8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + iVar16 * 8 + 0x1ed8)" ( (binary_expression "puVar6 + iVar16 * 8 + 0x1ed8" (binary_expression "puVar6 + iVar16 * 8" identifier + (binary_expression "iVar16 * 8" identifier * number_literal)) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }" if (parenthesized_expression "(piVar23 == (int *)0x0)" ( (binary_expression "piVar23 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }" { (expression_statement "piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);" (assignment_expression "piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22)" identifier = (cast_expression "(int *)(*(code *)PTR_dupstr_000b2410)(uVar22)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dupstr_000b2410)(uVar22)" (parenthesized_expression "(*(code *)PTR_dupstr_000b2410)" ( (pointer_expression "*(code *)PTR_dupstr_000b2410" * (cast_expression "(code *)PTR_dupstr_000b2410" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))))) ;) }) (else_clause "else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }" else (compound_statement "{\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }" { (expression_statement "piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);" (assignment_expression "piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0)" identifier = (cast_expression "(int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0)" (parenthesized_expression "(*(code *)PTR_dupcat_000b2414)" ( (pointer_expression "*(code *)PTR_dupcat_000b2414" * (cast_expression "(code *)PTR_dupcat_000b2414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar23,puVar5,uVar22,0)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar23);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar23)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar23)" ( identifier ))) ;) }))) (break_statement "break;" break ;) })) (if_statement "if (iVar12 == 5) break;" if (parenthesized_expression "(iVar12 == 5)" ( (binary_expression "iVar12 == 5" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar29 = piVar29 + 1;" (assignment_expression "piVar29 = piVar29 + 1" identifier = (binary_expression "piVar29 + 1" identifier + number_literal)) ;) (expression_statement "piVar23 = piVar14;" (assignment_expression "piVar23 = piVar14" identifier = identifier) ;) }) while (parenthesized_expression "(iVar3 < param_1[0x1b2])" ( (binary_expression "iVar3 < param_1[0x1b2]" identifier < (subscript_expression "param_1[0x1b2]" identifier [ number_literal ])) )) ;) (expression_statement "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);" (assignment_expression "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x30)" ( (binary_expression "param_1[0x27] + 0x30" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar23 = (int *)param_1[0x44];" (assignment_expression "piVar23 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 == (int *)0x0) goto LAB_00045b94;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00045b94;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1)" identifier = (call_expression "(*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1)" (parenthesized_expression "(*(code *)PTR_askhk_000b297c)" ( (pointer_expression "*(code *)PTR_askhk_000b297c" * (cast_expression "(code *)PTR_askhk_000b297c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1)" ( (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ])) , identifier , identifier , (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar6 = PTR_safefree_000b23d0;" (assignment_expression "puVar6 = PTR_safefree_000b23d0" identifier = identifier) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)puVar6)();" (call_expression "(*(code *)puVar6)()" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = piVar18[0x50];" (assignment_expression "iVar3 = piVar18[0x50]" identifier = (subscript_expression "piVar18[0x50]" identifier [ number_literal ])) ;) }))) (if_statement "if (-1 < iVar3) goto LAB_00044370;" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (goto_statement "goto LAB_00044370;" goto statement_identifier ;)) (goto_statement "goto LAB_00043d00;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }" { (expression_statement "uVar4 = param_1[0x14];" (assignment_expression "uVar4 = param_1[0x14]" identifier = (subscript_expression "param_1[0x14]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0x13] = 0;" (assignment_expression "piVar18[0x13] = 0" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x12] = 0;" (assignment_expression "piVar18[0x12] = 0" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x15] = 0;" (assignment_expression "piVar18[0x15] = 0" (subscript_expression "piVar18[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x14] = 0;" (assignment_expression "piVar18[0x14] = 0" (subscript_expression "piVar18[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x19] = 0;" (assignment_expression "piVar18[0x19] = 0" (subscript_expression "piVar18[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x18] = 0;" (assignment_expression "piVar18[0x18] = 0" (subscript_expression "piVar18[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x4e] = 0;" (assignment_expression "piVar18[0x4e] = 0" (subscript_expression "piVar18[0x4e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x4d] = 0;" (assignment_expression "piVar18[0x4d] = 0" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x4b] = 0;" (assignment_expression "piVar18[0x4b] = 0" (subscript_expression "piVar18[0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x4c] = 0;" (assignment_expression "piVar18[0x4c] = 0" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }" if (parenthesized_expression "((uVar4 & 2) == 0)" ( (binary_expression "(uVar4 & 2) == 0" (parenthesized_expression "(uVar4 & 2)" ( (binary_expression "uVar4 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }" { (expression_statement "piVar18[0x11] = 4;" (assignment_expression "piVar18[0x11] = 4" (subscript_expression "piVar18[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);" (assignment_expression "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8)" (subscript_expression "piVar18[0x10]" identifier [ number_literal ]) = (cast_expression "(int)(PTR_DAT_000b2398 + 0x1ec8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ec8)" ( (binary_expression "PTR_DAT_000b2398 + 0x1ec8" identifier + number_literal) )))) ;) }) (else_clause "else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }" else (compound_statement "{\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }" { (expression_statement "piVar18[0x11] = 3;" (assignment_expression "piVar18[0x11] = 3" (subscript_expression "piVar18[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);" (assignment_expression "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc)" (subscript_expression "piVar18[0x10]" identifier [ number_literal ]) = (cast_expression "(int)(PTR_DAT_000b2398 + 0x1ebc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ebc)" ( (binary_expression "PTR_DAT_000b2398 + 0x1ebc" identifier + number_literal) )))) ;) }))) (labeled_statement "LAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;" statement_identifier : (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8" identifier = identifier) ;)) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "param_1[0x61] = 0;" (assignment_expression "param_1[0x61] = 0" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x35] = 0;" (assignment_expression "piVar18[0x35] = 0" (subscript_expression "piVar18[0x35]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);" do (compound_statement "{\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      }" { (expression_statement "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);" (assignment_expression "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3)" identifier = (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" ( (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" * (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x18,iVar3)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (uVar4 < 6) {\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }" if (parenthesized_expression "(uVar4 < 6)" ( (binary_expression "uVar4 < 6" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x000448e4 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }" { comment comment (expression_statement "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08))" ( (binary_expression "&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar6 + uVar4 * 4 + 0x7c08)" * (cast_expression "(int *)(puVar6 + uVar4 * 4 + 0x7c08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + uVar4 * 4 + 0x7c08)" ( (binary_expression "puVar6 + uVar4 * 4 + 0x7c08" (binary_expression "puVar6 + uVar4 * 4" identifier + (binary_expression "uVar4 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != 6)" ( (binary_expression "iVar3 != 6" identifier != number_literal) )) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar18[0x3c] = 0;" (assignment_expression "piVar18[0x3c] = 0" (subscript_expression "piVar18[0x3c]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);" do (compound_statement "{\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      }" { (expression_statement "iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);" (assignment_expression "iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3)" identifier = (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" ( (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" * (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x19,iVar3)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if ((iVar16 == 0) && (iVar3 == 4)) break;" if (parenthesized_expression "((iVar16 == 0) && (iVar3 == 4))" ( (binary_expression "(iVar16 == 0) && (iVar3 == 4)" (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = piVar18[0x3c];" (assignment_expression "iVar12 = piVar18[0x3c]" identifier = (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar18[0x3c] = iVar12 + 1;" (assignment_expression "piVar18[0x3c] = iVar12 + 1" (subscript_expression "piVar18[0x3c]" identifier [ number_literal ]) = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "piVar18[iVar12 + 0x3d] = iVar16;" (assignment_expression "piVar18[iVar12 + 0x3d] = iVar16" (subscript_expression "piVar18[iVar12 + 0x3d]" identifier [ (binary_expression "iVar12 + 0x3d" identifier + number_literal) ]) = identifier) ;) }) while (parenthesized_expression "(iVar3 != 5)" ( (binary_expression "iVar3 != 5" identifier != number_literal) )) ;) (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8" identifier = identifier) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar18[0x42] = 0;" (assignment_expression "piVar18[0x42] = 0" (subscript_expression "piVar18[0x42]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);" do (compound_statement "{\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      }" { (expression_statement "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);" (assignment_expression "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3)" identifier = (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" ( (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" * (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x1f,iVar3)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (uVar4 < 7) {\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }" if (parenthesized_expression "(uVar4 < 7)" ( (binary_expression "uVar4 < 7" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */\n                    /* WARNING: Treating indirect jump as call */\n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }" { comment comment (expression_statement "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20))" ( (binary_expression "&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar6 + uVar4 * 4 + 0x7c20)" * (cast_expression "(int *)(puVar6 + uVar4 * 4 + 0x7c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + uVar4 * 4 + 0x7c20)" ( (binary_expression "puVar6 + uVar4 * 4 + 0x7c20" (binary_expression "puVar6 + uVar4 * 4" identifier + (binary_expression "uVar4 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != 7)" ( (binary_expression "iVar3 != 7" identifier != number_literal) )) ;) (expression_statement "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);" (assignment_expression "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17)" identifier = (call_expression "(*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17)" (parenthesized_expression "(*(code *)PTR_conf_get_int_000b2434)" ( (pointer_expression "*(code *)PTR_conf_get_int_000b2434" * (cast_expression "(code *)PTR_conf_get_int_000b2434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x17)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "puVar6 = PTR_ssh_zlib_000b2978;" (assignment_expression "puVar6 = PTR_ssh_zlib_000b2978" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }" { (expression_statement "puVar6 = PTR_DAT_000b2398 + 0x1240;" (assignment_expression "puVar6 = PTR_DAT_000b2398 + 0x1240" identifier = (binary_expression "PTR_DAT_000b2398 + 0x1240" identifier + number_literal)) ;) })) (expression_statement "piVar18[0x4a] = (int)puVar6;" (assignment_expression "piVar18[0x4a] = (int)puVar6" (subscript_expression "piVar18[0x4a]" identifier [ number_literal ]) = (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar23 = piVar18 + 0x83;" (assignment_expression "piVar23 = piVar18 + 0x83" identifier = (binary_expression "piVar18 + 0x83" identifier + number_literal)) ;) (expression_statement "param_1[0x59] = 1;" (assignment_expression "param_1[0x59] = 1" (subscript_expression "param_1[0x59]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1a5] = 1;" (assignment_expression "param_1[0x1a5] = 1" (subscript_expression "param_1[0x1a5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;) (do_statement "do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);" do (compound_statement "{\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      }" { (expression_statement "piVar29 = piVar14 + -0x30;" (assignment_expression "piVar29 = piVar14 + -0x30" identifier = (binary_expression "piVar14 + -0x30" identifier + number_literal)) ;) (do_statement "do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);" do (compound_statement "{\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        }" { (expression_statement "*piVar29 = 0;" (assignment_expression "*piVar29 = 0" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (expression_statement "piVar29 = piVar29 + 3;" (assignment_expression "piVar29 = piVar29 + 3" identifier = (binary_expression "piVar29 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar14 != piVar29)" ( (binary_expression "piVar14 != piVar29" identifier != identifier) )) ;) (expression_statement "piVar14 = piVar14 + 0x30;" (assignment_expression "piVar14 = piVar14 + 0x30" identifier = (binary_expression "piVar14 + 0x30" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar18 + 0x203 != piVar14)" ( (binary_expression "piVar18 + 0x203 != piVar14" (binary_expression "piVar18 + 0x203" identifier + number_literal) != identifier) )) ;) (expression_statement "iVar3 = piVar18[0x35];" (assignment_expression "iVar3 = piVar18[0x35]" identifier = (subscript_expression "piVar18[0x35]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }" { (expression_statement "piVar14 = piVar18 + 0x36;" (assignment_expression "piVar14 = piVar18 + 0x36" identifier = (binary_expression "piVar18 + 0x36" identifier + number_literal)) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424)" identifier = (cast_expression "(code *)(PTR_LAB_000b2894 + -0x5424)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b2894 + -0x5424)" ( (binary_expression "PTR_LAB_000b2894 + -0x5424" identifier + number_literal) )))) ;) (do_statement "do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);" do (compound_statement "{\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        }" { (expression_statement "piVar29 = (int *)*piVar14;" (assignment_expression "piVar29 = (int *)*piVar14" identifier = (cast_expression "(int *)*piVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;) (if_statement "if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }" if (parenthesized_expression "(piVar29 == (int *)0x0)" ( (binary_expression "piVar29 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar22 = 1;\n          }" { (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }" else (compound_statement "{\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }" if (parenthesized_expression "(0 < *piVar29)" ( (binary_expression "0 < *piVar29" number_literal < (pointer_expression "*piVar29" * identifier)) )) (compound_statement "{\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }" { (expression_statement "iVar3 = piVar29[1];" (assignment_expression "iVar3 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) (do_statement "do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);" do (compound_statement "{\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              }" { (expression_statement "iVar24 = iVar12 * 4;" (assignment_expression "iVar24 = iVar12 * 4" identifier = (binary_expression "iVar12 * 4" identifier * number_literal)) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));" (assignment_expression "iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24))" identifier = (call_expression "(*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24))" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24))" ( (binary_expression "piVar18 + 0x53" identifier + number_literal) , (pointer_expression "**(undefined4 **)(iVar3 + iVar24)" * (pointer_expression "*(undefined4 **)(iVar3 + iVar24)" * (cast_expression "(undefined4 **)(iVar3 + iVar24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + iVar24)" ( (binary_expression "iVar3 + iVar24" identifier + identifier) ))))) )))) ;) (expression_statement "iVar3 = piVar29[1];" (assignment_expression "iVar3 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = *piVar29;" (assignment_expression "iVar13 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "uVar17 = *(undefined4 *)(iVar3 + iVar24);" (assignment_expression "uVar17 = *(undefined4 *)(iVar3 + iVar24)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + iVar24)" * (cast_expression "(undefined4 *)(iVar3 + iVar24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + iVar24)" ( (binary_expression "iVar3 + iVar24" identifier + identifier) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 8) = uVar22;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = uVar22" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 4) = uVar17;" (assignment_expression "*(undefined4 *)(iVar7 + 4) = uVar17" (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar12 < iVar13)" ( (binary_expression "iVar12 < iVar13" identifier < identifier) )) ;) (expression_statement "iVar3 = piVar18[0x35];" (assignment_expression "iVar3 = piVar18[0x35]" identifier = (subscript_expression "piVar18[0x35]" identifier [ number_literal ])) ;) })) }))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar16 < iVar3)" ( (binary_expression "iVar16 < iVar3" identifier < identifier) )) ;) })) (if_statement "if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }" if (parenthesized_expression "(piVar18[0x4d] == 0)" ( (binary_expression "piVar18[0x4d] == 0" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }" { (if_statement "if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }" if (parenthesized_expression "(0 < piVar18[0x3c])" ( (binary_expression "0 < piVar18[0x3c]" number_literal < (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) )) (compound_statement "{\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }" { (expression_statement "piVar30 = piVar18 + 0x3d;" (assignment_expression "piVar30 = piVar18 + 0x3d" identifier = (binary_expression "piVar18 + 0x3d" identifier + number_literal)) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);" (assignment_expression "piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8)" identifier = (cast_expression "(int *)(PTR_DAT_000b2398 + 0x1ed8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ed8)" ( (binary_expression "PTR_DAT_000b2398 + 0x1ed8" identifier + number_literal) )))) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);" (assignment_expression "piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08)" identifier = (cast_expression "(int *)(PTR_DAT_000b2398 + 0x1f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1f08)" ( (binary_expression "PTR_DAT_000b2398 + 0x1f08" identifier + number_literal) )))) ;) (expression_statement "piVar14 = piVar30;" (assignment_expression "piVar14 = piVar30" identifier = identifier) ;) (do_statement "do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);" do (compound_statement "{\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          }" { (expression_statement "iVar3 = *piVar14;" (assignment_expression "iVar3 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "iVar16 = 4;" (assignment_expression "iVar16 = 4" identifier = number_literal) ;) (expression_statement "piVar27 = piVar29;" (assignment_expression "piVar27 = piVar29" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n              local_90 = 1;\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n              local_90 = 1;\n            }" { (expression_statement "local_90 = 1;" (assignment_expression "local_90 = 1" identifier = number_literal) ;) })) (while_statement "while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }" { (if_statement "if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }" if (parenthesized_expression "(iVar16 == iVar3)" ( (binary_expression "iVar16 == iVar3" identifier == identifier) )) (compound_statement "{\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }" { (expression_statement "iVar16 = *piVar27;" (assignment_expression "iVar16 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));" (assignment_expression "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34))" identifier = (call_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34))" (parenthesized_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)" ( (pointer_expression "*(code *)PTR_have_ssh_host_key_000b29e8" * (cast_expression "(code *)PTR_have_ssh_host_key_000b29e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34))" ( (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar16 + 0x34)" * (cast_expression "(undefined4 *)(iVar16 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x34)" ( (binary_expression "iVar16 + 0x34" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }" { (expression_statement "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));" (assignment_expression "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30))" identifier = (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30))" identifier (argument_list "(piVar23,*(undefined4 *)(iVar16 + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(iVar16 + 0x30)" * (cast_expression "(undefined4 *)(iVar16 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x30)" ( (binary_expression "iVar16 + 0x30" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar3 + 4) = iVar16;" (assignment_expression "*(int *)(iVar3 + 4) = iVar16" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar3 + 8) = local_90;" (assignment_expression "*(int *)(iVar3 + 8) = local_90" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) = identifier) ;) })) })) (if_statement "if (piVar25 == piVar27 + 2) break;" if (parenthesized_expression "(piVar25 == piVar27 + 2)" ( (binary_expression "piVar25 == piVar27 + 2" identifier == (binary_expression "piVar27 + 2" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = piVar27[3];" (assignment_expression "iVar16 = piVar27[3]" identifier = (subscript_expression "piVar27[3]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *piVar14;" (assignment_expression "iVar3 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar27 = piVar27 + 2;" (assignment_expression "piVar27 = piVar27 + 2" identifier = (binary_expression "piVar27 + 2" identifier + number_literal)) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)local_74 < piVar18[0x3c])" ( (binary_expression "(int)local_74 < piVar18[0x3c]" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) < (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) )) ;) (if_statement "if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }" if (parenthesized_expression "(0 < piVar18[0x3c])" ( (binary_expression "0 < piVar18[0x3c]" number_literal < (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) )) (compound_statement "{\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);" do (compound_statement "{\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            }" { (expression_statement "iVar16 = *piVar30;" (assignment_expression "iVar16 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (expression_statement "iVar12 = 4;" (assignment_expression "iVar12 = 4" identifier = number_literal) ;) (expression_statement "piVar14 = piVar29;" (assignment_expression "piVar14 = piVar29" identifier = identifier) ;) (if_statement "if (iVar16 == 0) {\n                uVar22 = 1;\n              }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar22 = 1;\n              }" { (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) })) (while_statement "while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }" { (if_statement "if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }" if (parenthesized_expression "(iVar16 == iVar12)" ( (binary_expression "iVar16 == iVar12" identifier == identifier) )) (compound_statement "{\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }" { (expression_statement "iVar12 = *piVar14;" (assignment_expression "iVar12 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));" (assignment_expression "iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30))" identifier = (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30))" identifier (argument_list "(piVar23,*(undefined4 *)(iVar12 + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(iVar12 + 0x30)" * (cast_expression "(undefined4 *)(iVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x30)" ( (binary_expression "iVar12 + 0x30" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar16 + 4) = iVar12;" (assignment_expression "*(int *)(iVar16 + 4) = iVar12" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar16 + 8) = uVar22;" (assignment_expression "*(undefined4 *)(iVar16 + 8) = uVar22" (pointer_expression "*(undefined4 *)(iVar16 + 8)" * (cast_expression "(undefined4 *)(iVar16 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (piVar25 == piVar14 + 2) break;" if (parenthesized_expression "(piVar25 == piVar14 + 2)" ( (binary_expression "piVar25 == piVar14 + 2" identifier == (binary_expression "piVar14 + 2" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = piVar14[3];" (assignment_expression "iVar12 = piVar14[3]" identifier = (subscript_expression "piVar14[3]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = *piVar30;" (assignment_expression "iVar16 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (expression_statement "piVar14 = piVar14 + 2;" (assignment_expression "piVar14 = piVar14 + 2" identifier = (binary_expression "piVar14 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar30 = piVar30 + 1;" (assignment_expression "piVar30 = piVar30 + 1" identifier = (binary_expression "piVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 < piVar18[0x3c])" ( (binary_expression "iVar3 < piVar18[0x3c]" identifier < (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) )) ;) })) })) }) (else_clause "else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }" else (compound_statement "{\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }" { (if_statement "if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }" if (parenthesized_expression "(param_1[0x26] == 0)" ( (binary_expression "param_1[0x26] == 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5970" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));" (assignment_expression "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30))" identifier = (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30))" identifier (argument_list "(piVar23,*(undefined4 *)(param_1[0x27] + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x30)" ( (binary_expression "param_1[0x27] + 0x30" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "iVar16 = param_1[0x27];" (assignment_expression "iVar16 = param_1[0x27]" identifier = (subscript_expression "param_1[0x27]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar3 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 8)" * (cast_expression "(undefined4 *)(iVar3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar3 + 4) = iVar16;" (assignment_expression "*(int *)(iVar3 + 4) = iVar16" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar14 = piVar18 + 0x113;" (assignment_expression "piVar14 = piVar18 + 0x113" identifier = (binary_expression "piVar18 + 0x113" identifier + number_literal)) ;) (expression_statement "iVar3 = piVar18[0x42];" (assignment_expression "iVar3 = piVar18[0x42]" identifier = (subscript_expression "piVar18[0x42]" identifier [ number_literal ])) ;) (expression_statement "piVar23 = piVar18 + 0xb3;" (assignment_expression "piVar23 = piVar18 + 0xb3" identifier = (binary_expression "piVar18 + 0xb3" identifier + number_literal)) ;) (do_statement "do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);" do (compound_statement "{\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      }" { (expression_statement "piVar29 = piVar18 + 0x43;" (assignment_expression "piVar29 = piVar18 + 0x43" identifier = (binary_expression "piVar18 + 0x43" identifier + number_literal)) ;) (if_statement "if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }" { (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);" do (compound_statement "{\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          }" { (expression_statement "piVar30 = (int *)*piVar29;" (assignment_expression "piVar30 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ;) (if_statement "if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }" if (parenthesized_expression "(piVar30 == (int *)0x0)" ( (binary_expression "piVar30 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar22 = 1;\n            }" { (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) }) (else_clause "else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }" else (compound_statement "{\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }" if (parenthesized_expression "(0 < *piVar30)" ( (binary_expression "0 < *piVar30" number_literal < (pointer_expression "*piVar30" * identifier)) )) (compound_statement "{\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }" { (expression_statement "iVar3 = piVar30[1];" (assignment_expression "iVar3 = piVar30[1]" identifier = (subscript_expression "piVar30[1]" identifier [ number_literal ])) ;) (do_statement "do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);" do (compound_statement "{\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                }" { (expression_statement "iVar13 = iVar16 * 4;" (assignment_expression "iVar13 = iVar16 * 4" identifier = (binary_expression "iVar16 * 4" identifier * number_literal)) ;) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));" (assignment_expression "iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20))" identifier = (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20))" identifier (argument_list "(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20))" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + iVar13) + 0x20)" ( (binary_expression "*(int *)(iVar3 + iVar13) + 0x20" (pointer_expression "*(int *)(iVar3 + iVar13)" * (cast_expression "(int *)(iVar3 + iVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + iVar13)" ( (binary_expression "iVar3 + iVar13" identifier + identifier) )))) + number_literal) )))) )))) ;) (expression_statement "iVar3 = piVar30[1];" (assignment_expression "iVar3 = piVar30[1]" identifier = (subscript_expression "piVar30[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *piVar30;" (assignment_expression "iVar7 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (expression_statement "uVar17 = *(undefined4 *)(iVar3 + iVar13);" (assignment_expression "uVar17 = *(undefined4 *)(iVar3 + iVar13)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + iVar13)" * (cast_expression "(undefined4 *)(iVar3 + iVar13)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + iVar13)" ( (binary_expression "iVar3 + iVar13" identifier + identifier) ))))) ;) (expression_statement "*(undefined4 *)(iVar12 + 8) = uVar22;" (assignment_expression "*(undefined4 *)(iVar12 + 8) = uVar22" (pointer_expression "*(undefined4 *)(iVar12 + 8)" * (cast_expression "(undefined4 *)(iVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar12 + 4) = uVar17;" (assignment_expression "*(undefined4 *)(iVar12 + 4) = uVar17" (pointer_expression "*(undefined4 *)(iVar12 + 4)" * (cast_expression "(undefined4 *)(iVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar16 < iVar7)" ( (binary_expression "iVar16 < iVar7" identifier < identifier) )) ;) (expression_statement "iVar3 = piVar18[0x42];" (assignment_expression "iVar3 = piVar18[0x42]" identifier = (subscript_expression "piVar18[0x42]" identifier [ number_literal ])) ;) })) }))) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) (expression_statement "piVar29 = piVar29 + 1;" (assignment_expression "piVar29 = piVar29 + 1" identifier = (binary_expression "piVar29 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_90 < iVar3)" ( (binary_expression "local_90 < iVar3" identifier < identifier) )) ;) })) (expression_statement "piVar23 = piVar23 + 0x30;" (assignment_expression "piVar23 = piVar23 + 0x30" identifier = (binary_expression "piVar23 + 0x30" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar14 != piVar23)" ( (binary_expression "piVar14 != piVar23" identifier != identifier) )) ;) (expression_statement "iVar3 = piVar18[0x11];" (assignment_expression "iVar3 = piVar18[0x11]" identifier = (subscript_expression "piVar18[0x11]" identifier [ number_literal ])) ;) (do_statement "do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);" do (compound_statement "{\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }" { (expression_statement "iVar12 = piVar18[0x10];" (assignment_expression "iVar12 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (do_statement "do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);" do (compound_statement "{\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          }" { (expression_statement "iVar13 = iVar16 * 4;" (assignment_expression "iVar13 = iVar16 * 4" identifier = (binary_expression "iVar16 * 4" identifier * number_literal)) ;) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));" (assignment_expression "iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24))" identifier = (call_expression "FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24))" identifier (argument_list "(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24))" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24)" * (cast_expression "(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + iVar13) + 0x24)" ( (binary_expression "*(int *)(iVar12 + iVar13) + 0x24" (pointer_expression "*(int *)(iVar12 + iVar13)" * (cast_expression "(int *)(iVar12 + iVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar13)" ( (binary_expression "iVar12 + iVar13" identifier + identifier) )))) + number_literal) )))) )))) ;) (expression_statement "iVar12 = piVar18[0x10];" (assignment_expression "iVar12 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar18[0x11];" (assignment_expression "iVar3 = piVar18[0x11]" identifier = (subscript_expression "piVar18[0x11]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = *(undefined4 *)(iVar12 + iVar13);" (assignment_expression "uVar22 = *(undefined4 *)(iVar12 + iVar13)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + iVar13)" * (cast_expression "(undefined4 *)(iVar12 + iVar13)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar13)" ( (binary_expression "iVar12 + iVar13" identifier + identifier) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 4) = uVar22;" (assignment_expression "*(undefined4 *)(iVar7 + 4) = uVar22" (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar16 < iVar3)" ( (binary_expression "iVar16 < iVar3" identifier < identifier) )) ;) (if_statement "if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);" do (compound_statement "{\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            }" { (if_statement "if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0)" ( (binary_expression "*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0" (pointer_expression "*(int *)(*(int *)(iVar12 + iVar16) + 0x28)" * (cast_expression "(int *)(*(int *)(iVar12 + iVar16) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + iVar16) + 0x28)" ( (binary_expression "*(int *)(iVar12 + iVar16) + 0x28" (pointer_expression "*(int *)(iVar12 + iVar16)" * (cast_expression "(int *)(iVar12 + iVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar16)" ( (binary_expression "iVar12 + iVar16" identifier + identifier) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }" { (expression_statement "iVar13 = FUN_0003abdc(piVar14);" (assignment_expression "iVar13 = FUN_0003abdc(piVar14)" identifier = (call_expression "FUN_0003abdc(piVar14)" identifier (argument_list "(piVar14)" ( identifier )))) ;) (expression_statement "iVar12 = piVar18[0x10];" (assignment_expression "iVar12 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar18[0x11];" (assignment_expression "iVar3 = piVar18[0x11]" identifier = (subscript_expression "piVar18[0x11]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = *(undefined4 *)(iVar12 + iVar16);" (assignment_expression "uVar22 = *(undefined4 *)(iVar12 + iVar16)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + iVar16)" * (cast_expression "(undefined4 *)(iVar12 + iVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar16)" ( (binary_expression "iVar12 + iVar16" identifier + identifier) ))))) ;) (expression_statement "*(undefined4 *)(iVar13 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar13 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar13 + 8)" * (cast_expression "(undefined4 *)(iVar13 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar13 + 4) = uVar22;" (assignment_expression "*(undefined4 *)(iVar13 + 4) = uVar22" (pointer_expression "*(undefined4 *)(iVar13 + 4)" * (cast_expression "(undefined4 *)(iVar13 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 4)" ( (binary_expression "iVar13 + 4" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar7 * 4;" (assignment_expression "iVar16 = iVar7 * 4" identifier = (binary_expression "iVar7 * 4" identifier * number_literal)) ;) }) while (parenthesized_expression "(iVar7 < iVar3)" ( (binary_expression "iVar7 < iVar3" identifier < identifier) )) ;) })) })) (expression_statement "puVar6 = PTR_ssh_zlib_000b2978;" (assignment_expression "puVar6 = PTR_ssh_zlib_000b2978" identifier = identifier) ;) (expression_statement "piVar14 = piVar14 + 0x30;" (assignment_expression "piVar14 = piVar14 + 0x30" identifier = (binary_expression "piVar14 + 0x30" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar18 + 0x173 != piVar14)" ( (binary_expression "piVar18 + 0x173 != piVar14" (binary_expression "piVar18 + 0x173" identifier + number_literal) != identifier) )) ;) (expression_statement "puVar26 = PTR_DAT_000b2398 + 0x1240;" (assignment_expression "puVar26 = PTR_DAT_000b2398 + 0x1240" identifier = (binary_expression "PTR_DAT_000b2398 + 0x1240" identifier + number_literal)) ;) (expression_statement "uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;" (assignment_expression "uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978" identifier = (pointer_expression "*(undefined4 *)PTR_ssh_zlib_000b2978" * (cast_expression "(undefined4 *)PTR_ssh_zlib_000b2978" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4ea4" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar18 + 0x173;" (assignment_expression "piVar14 = piVar18 + 0x173" identifier = (binary_expression "piVar18 + 0x173" identifier + number_literal)) ;) (do_statement "do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);" do (compound_statement "{\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      }" { (expression_statement "iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a])" identifier = (call_expression "FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a])" identifier (argument_list "(piVar14,*(undefined4 *)piVar18[0x4a])" ( identifier , (pointer_expression "*(undefined4 *)piVar18[0x4a]" * (cast_expression "(undefined4 *)piVar18[0x4a]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4a]" identifier [ number_literal ]))) )))) ;) (expression_statement "iVar16 = piVar18[0x4a];" (assignment_expression "iVar16 = piVar18[0x4a]" identifier = (subscript_expression "piVar18[0x4a]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = piVar18[0x4b];" (assignment_expression "iVar12 = piVar18[0x4b]" identifier = (subscript_expression "piVar18[0x4b]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(iVar3 + 4) = iVar16;" (assignment_expression "*(int *)(iVar3 + 4) = iVar16" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }" if (parenthesized_expression "((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0))" ( (binary_expression "(iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar16 + 4) != 0)" ( (binary_expression "*(int *)(iVar16 + 4) != 0" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }" { (expression_statement "iVar3 = FUN_0003abdc(piVar14);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14)" identifier = (call_expression "FUN_0003abdc(piVar14)" identifier (argument_list "(piVar14)" ( identifier )))) ;) (expression_statement "*(int *)(iVar3 + 4) = piVar18[0x4a];" (assignment_expression "*(int *)(iVar3 + 4) = piVar18[0x4a]" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = (subscript_expression "piVar18[0x4a]" identifier [ number_literal ])) ;) })) (expression_statement "iVar3 = FUN_0003abdc(piVar14,uVar22);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14,uVar22)" identifier = (call_expression "FUN_0003abdc(piVar14,uVar22)" identifier (argument_list "(piVar14,uVar22)" ( identifier , identifier )))) ;) (expression_statement "iVar16 = piVar18[0x4b];" (assignment_expression "iVar16 = piVar18[0x4b]" identifier = (subscript_expression "piVar18[0x4b]" identifier [ number_literal ])) ;) (expression_statement "*(undefined **)(iVar3 + 4) = puVar6;" (assignment_expression "*(undefined **)(iVar3 + 4) = puVar6" (pointer_expression "*(undefined **)(iVar3 + 4)" * (cast_expression "(undefined **)(iVar3 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }" if (parenthesized_expression "((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0))" ( (binary_expression "(iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(puVar6 + 4) != 0)" ( (binary_expression "*(int *)(puVar6 + 4) != 0" (pointer_expression "*(int *)(puVar6 + 4)" * (cast_expression "(int *)(puVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }" { (expression_statement "iVar3 = FUN_0003abdc(piVar14);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14)" identifier = (call_expression "FUN_0003abdc(piVar14)" identifier (argument_list "(piVar14)" ( identifier )))) ;) (expression_statement "*(undefined **)(iVar3 + 4) = puVar6;" (assignment_expression "*(undefined **)(iVar3 + 4) = puVar6" (pointer_expression "*(undefined **)(iVar3 + 4)" * (cast_expression "(undefined **)(iVar3 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "piVar23 = piVar14 + 0x30;" (assignment_expression "piVar23 = piVar14 + 0x30" identifier = (binary_expression "piVar14 + 0x30" identifier + number_literal)) ;) (expression_statement "iVar3 = FUN_0003abdc(piVar14,puVar5);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14,puVar5)" identifier = (call_expression "FUN_0003abdc(piVar14,puVar5)" identifier (argument_list "(piVar14,puVar5)" ( identifier , identifier )))) ;) (expression_statement "*(undefined **)(iVar3 + 4) = puVar26;" (assignment_expression "*(undefined **)(iVar3 + 4) = puVar26" (pointer_expression "*(undefined **)(iVar3 + 4)" * (cast_expression "(undefined **)(iVar3 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;) }) while (parenthesized_expression "(piVar18 + 0x1d3 != piVar23)" ( (binary_expression "piVar18 + 0x1d3 != piVar23" (binary_expression "piVar18 + 0x1d3" identifier + number_literal) != identifier) )) ;) (expression_statement "iVar16 = 0x10;" (assignment_expression "iVar16 = 0x10" identifier = number_literal) ;) (expression_statement "iVar3 = FUN_0003b04c(0x14);" (assignment_expression "iVar3 = FUN_0003b04c(0x14)" identifier = (call_expression "FUN_0003b04c(0x14)" identifier (argument_list "(0x14)" ( number_literal )))) ;) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = identifier) ;) (while_statement "while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }" { (expression_statement "iVar16 = iVar16 + -1;" (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (expression_statement "uVar9 = (*(code *)PTR_random_byte_000b28d4)();" (assignment_expression "uVar9 = (*(code *)PTR_random_byte_000b28d4)()" identifier = (call_expression "(*(code *)PTR_random_byte_000b28d4)()" (parenthesized_expression "(*(code *)PTR_random_byte_000b28d4)" ( (pointer_expression "*(code *)PTR_random_byte_000b28d4" * (cast_expression "(code *)PTR_random_byte_000b28d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "local_54 = CONCAT13(uVar9,local_54._1_3_);" (assignment_expression "local_54 = CONCAT13(uVar9,local_54._1_3_)" identifier = (call_expression "CONCAT13(uVar9,local_54._1_3_)" identifier (argument_list "(uVar9,local_54._1_3_)" ( identifier , (field_expression "local_54._1_3_" identifier . field_identifier) )))) ;) (expression_statement "FUN_0003aef4(iVar3,&local_54,1);" (call_expression "FUN_0003aef4(iVar3,&local_54,1)" identifier (argument_list "(iVar3,&local_54,1)" ( identifier , (pointer_expression "&local_54" & identifier) , number_literal ))) ;) (if_statement "if (iVar16 == 0) break;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = piVar18[0x4f];" (assignment_expression "iVar3 = piVar18[0x4f]" identifier = (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])) ;) })) (expression_statement "piVar14 = piVar18 + 0x30;" (assignment_expression "piVar14 = piVar18 + 0x30" identifier = (binary_expression "piVar18 + 0x30" identifier + number_literal)) ;) (expression_statement "piVar23 = (int *)piVar18[0x4f];" (assignment_expression "piVar23 = (int *)piVar18[0x4f]" identifier = (cast_expression "(int *)piVar18[0x4f]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]))) ;) (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x470" identifier + number_literal)) ;) (do_statement "do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);" do (compound_statement "{\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      }" { (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(piVar23,&local_30,4);" (call_expression "FUN_0003aef4(piVar23,&local_30,4)" identifier (argument_list "(piVar23,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "piVar29 = piVar14 + -0x30;" (assignment_expression "piVar29 = piVar14 + -0x30" identifier = (binary_expression "piVar14 + -0x30" identifier + number_literal)) ;) (expression_statement "piVar23[6] = *piVar23;" (assignment_expression "piVar23[6] = *piVar23" (subscript_expression "piVar23[6]" identifier [ number_literal ]) = (pointer_expression "*piVar23" * identifier)) ;) (do_statement "do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);" do (compound_statement "{\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        }" { (expression_statement "iVar3 = piVar29[0x53];" (assignment_expression "iVar3 = piVar29[0x53]" identifier = (subscript_expression "piVar29[0x53]" identifier [ number_literal ])) ;) (expression_statement "piVar23 = (int *)piVar18[0x4f];" (assignment_expression "piVar23 = (int *)piVar18[0x4f]" identifier = (cast_expression "(int *)piVar18[0x4f]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]))) ;) (if_statement "if (iVar3 == 0) goto LAB_00043918;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00043918;" goto statement_identifier ;)) (if_statement "if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }" if (parenthesized_expression "(0 < *piVar23 - piVar23[6])" ( (binary_expression "0 < *piVar23 - piVar23[6]" number_literal < (binary_expression "*piVar23 - piVar23[6]" (pointer_expression "*piVar23" * identifier) - (subscript_expression "piVar23[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            FUN_0003b124(piVar23,puVar6,1);\n          }" { (expression_statement "FUN_0003b124(piVar23,puVar6,1);" (call_expression "FUN_0003b124(piVar23,puVar6,1)" identifier (argument_list "(piVar23,puVar6,1)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "piVar29 = piVar29 + 3;" (assignment_expression "piVar29 = piVar29 + 3" identifier = (binary_expression "piVar29 + 3" identifier + number_literal)) ;) (expression_statement "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);" (assignment_expression "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3)" identifier = (call_expression "(*(code *)PTR_strlen_000b2e48)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_000b2e48)" ( (pointer_expression "*(code *)PTR_strlen_000b2e48" * (cast_expression "(code *)PTR_strlen_000b2e48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "FUN_0003b124(piVar23,iVar3,uVar22);" (call_expression "FUN_0003b124(piVar23,iVar3,uVar22)" identifier (argument_list "(piVar23,iVar3,uVar22)" ( identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "(piVar14 != piVar29)" ( (binary_expression "piVar14 != piVar29" identifier != identifier) )) ;) (expression_statement "piVar23 = (int *)piVar18[0x4f];" (assignment_expression "piVar23 = (int *)piVar18[0x4f]" identifier = (cast_expression "(int *)piVar18[0x4f]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_00043918:\n        piVar14 = piVar14 + 0x30;" statement_identifier : (expression_statement "piVar14 = piVar14 + 0x30;" (assignment_expression "piVar14 = piVar14 + 0x30" identifier = (binary_expression "piVar14 + 0x30" identifier + number_literal)) ;)) }) while (parenthesized_expression "(piVar18 + 0x1b0 != piVar14)" ( (binary_expression "piVar18 + 0x1b0 != piVar14" (binary_expression "piVar18 + 0x1b0" identifier + number_literal) != identifier) )) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(piVar23,&local_30,4);" (call_expression "FUN_0003aef4(piVar23,&local_30,4)" identifier (argument_list "(piVar23,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "puVar19 = (undefined4 *)piVar18[0x4f];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x4f]" identifier = (cast_expression "(undefined4 *)piVar18[0x4f]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]))) ;) (expression_statement "piVar23[6] = *piVar23;" (assignment_expression "piVar23[6] = *piVar23" (subscript_expression "piVar23[6]" identifier [ number_literal ]) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" identifier (argument_list "(puVar19,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "iVar3 = piVar18[0x4f];" (assignment_expression "iVar3 = piVar18[0x4f]" identifier = (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])) ;) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "local_54 = local_54 & 0xffffff;" (assignment_expression "local_54 = local_54 & 0xffffff" identifier = (binary_expression "local_54 & 0xffffff" identifier & number_literal)) ;) (expression_statement "FUN_0003aef4(iVar3,&local_54,1);" (call_expression "FUN_0003aef4(iVar3,&local_54,1)" identifier (argument_list "(iVar3,&local_54,1)" ( identifier , (pointer_expression "&local_54" & identifier) , number_literal ))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(piVar18[0x4f],&local_30,4);" (call_expression "FUN_0003aef4(piVar18[0x4f],&local_30,4)" identifier (argument_list "(piVar18[0x4f],&local_30,4)" ( (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "puVar6 = PTR_safemalloc_000b2408;" (assignment_expression "puVar6 = PTR_safemalloc_000b2408" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)piVar18[0x4f];" (assignment_expression "iVar3 = *(int *)piVar18[0x4f]" identifier = (pointer_expression "*(int *)piVar18[0x4f]" * (cast_expression "(int *)piVar18[0x4f]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])))) ;) (expression_statement "piVar18[0xd] = iVar3 + -5;" (assignment_expression "piVar18[0xd] = iVar3 + -5" (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) = (binary_expression "iVar3 + -5" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)puVar6)(iVar3 + -5,1);" (assignment_expression "iVar3 = (*(code *)puVar6)(iVar3 + -5,1)" identifier = (call_expression "(*(code *)puVar6)(iVar3 + -5,1)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3 + -5,1)" ( (binary_expression "iVar3 + -5" identifier + number_literal) , number_literal )))) ;) (expression_statement "piVar18[0xc] = iVar3;" (assignment_expression "piVar18[0xc] = iVar3" (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);" (call_expression "(*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd])" (parenthesized_expression "(*(code *)PTR_memcpy_000b2f08)" ( (pointer_expression "*(code *)PTR_memcpy_000b2f08" * (cast_expression "(code *)PTR_memcpy_000b2f08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd])" ( identifier , (binary_expression "*(int *)(piVar18[0x4f] + 0x10) + 5" (pointer_expression "*(int *)(piVar18[0x4f] + 0x10)" * (cast_expression "(int *)(piVar18[0x4f] + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x4f] + 0x10)" ( (binary_expression "piVar18[0x4f] + 0x10" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_000439fc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00042f14:\n  *piVar18 = 0;" statement_identifier : (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (labeled_statement "LAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar2) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "puVar15 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar15 = PTR___stack_chk_fail_000b2ed8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b2ed8)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b2ed8" * (cast_expression "(code *)PTR___stack_chk_fail_000b2ed8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);" (assignment_expression "iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b])" identifier = (call_expression "FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b])" identifier (argument_list "(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b])" ( (binary_expression "param_1 + 4" identifier + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (subscript_expression "param_1[0x5a]" identifier [ number_literal ]) , (subscript_expression "param_1[0x5b]" identifier [ number_literal ]) )))) ;) (expression_statement "param_1[0x5c] = 0;" (assignment_expression "param_1[0x5c] = 0" (subscript_expression "param_1[0x5c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar28 = *(code **)(puVar15 + 0x6c288);" (assignment_expression "pcVar28 = *(code **)(puVar15 + 0x6c288)" identifier = (pointer_expression "*(code **)(puVar15 + 0x6c288)" * (cast_expression "(code **)(puVar15 + 0x6c288)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x6c288)" ( (binary_expression "puVar15 + 0x6c288" identifier + number_literal) ))))) ;) (expression_statement "param_1[0x5b] = 0;" (assignment_expression "param_1[0x5b] = 0" (subscript_expression "param_1[0x5b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar28)(param_1[0x5a]);" (call_expression "(*pcVar28)(param_1[0x5a])" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_1[0x5a])" ( (subscript_expression "param_1[0x5a]" identifier [ number_literal ]) ))) ;) (expression_statement "param_1[0x5a] = 0;" (assignment_expression "param_1[0x5a] = 0" (subscript_expression "param_1[0x5a]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }" if (parenthesized_expression "((0x8000 < iVar3) && (param_1[0x69] != 1))" ( (binary_expression "(0x8000 < iVar3) && (param_1[0x69] != 1)" (parenthesized_expression "(0x8000 < iVar3)" ( (binary_expression "0x8000 < iVar3" number_literal < identifier) )) && (parenthesized_expression "(param_1[0x69] != 1)" ( (binary_expression "param_1[0x69] != 1" (subscript_expression "param_1[0x69]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }" { (expression_statement "param_1[0x69] = 1;" (assignment_expression "param_1[0x69] = 1" (subscript_expression "param_1[0x69]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x68] = iVar3;" (assignment_expression "param_1[0x68] = iVar3" (subscript_expression "param_1[0x68]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }" if (parenthesized_expression "(param_1[0x49] != 0)" ( (binary_expression "param_1[0x49] != 0" (subscript_expression "param_1[0x49]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      FUN_000492b0(param_1,1);\n    }" { (expression_statement "FUN_000492b0(param_1,1);" (call_expression "FUN_000492b0(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal ))) ;) })) })) (if_statement "if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }" if (parenthesized_expression "(param_1[0x66] == 2)" ( (binary_expression "param_1[0x66] == 2" (subscript_expression "param_1[0x66]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }" { (expression_statement "iVar3 = param_1[0x1a2];" (assignment_expression "iVar3 = param_1[0x1a2]" identifier = (subscript_expression "param_1[0x1a2]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = param_1[0x1a3];" (assignment_expression "iVar16 = param_1[0x1a3]" identifier = (subscript_expression "param_1[0x1a3]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x1a3] = 0;" (assignment_expression "param_1[0x1a3] = 0" (subscript_expression "param_1[0x1a3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1a2] = iVar3 + iVar16;" (assignment_expression "param_1[0x1a2] = iVar3 + iVar16" (subscript_expression "param_1[0x1a2]" identifier [ number_literal ]) = (binary_expression "iVar3 + iVar16" identifier + identifier)) ;) (if_statement "if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }" if (parenthesized_expression "((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16)))" ( (binary_expression "(((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))" (parenthesized_expression "(((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0))" ( (binary_expression "((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)" (parenthesized_expression "((param_1[0x1a5] == 0) && (param_1[0x3b] == 0))" ( (binary_expression "(param_1[0x1a5] == 0) && (param_1[0x3b] == 0)" (parenthesized_expression "(param_1[0x1a5] == 0)" ( (binary_expression "param_1[0x1a5] == 0" (subscript_expression "param_1[0x1a5]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(param_1[0x3b] == 0)" ( (binary_expression "param_1[0x3b] == 0" (subscript_expression "param_1[0x3b]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(param_1[0x1a4] != 0)" ( (binary_expression "param_1[0x1a4] != 0" (subscript_expression "param_1[0x1a4]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))" ( (binary_expression "(uint)param_1[0x1a4] < (uint)(iVar3 + iVar16)" (cast_expression "(uint)param_1[0x1a4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1a4]" identifier [ number_literal ])) < (call_expression "(uint)(iVar3 + iVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 + iVar16)" ( (binary_expression "iVar3 + iVar16" identifier + identifier) )))) ))) )) (compound_statement "{\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }" { (expression_statement "FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);" (call_expression "FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0)" identifier (argument_list "(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0)" ( identifier , (binary_expression "*(int *)(puVar15 + 0x6c260) + 0x6294" (pointer_expression "*(int *)(puVar15 + 0x6c260)" * (cast_expression "(int *)(puVar15 + 0x6c260)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x6c260)" ( (binary_expression "puVar15 + 0x6c260" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (return_statement "return;" return ;) })) })) (return_statement "return;" return ;) (labeled_statement "LAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }" statement_identifier : (if_statement "if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }" { (if_statement "if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }" if (parenthesized_expression "(iVar16 < 2)" ( (binary_expression "iVar16 < 2" identifier < number_literal) )) (compound_statement "{\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + -0x608" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }" else (compound_statement "{\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }" { (expression_statement "puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;" (assignment_expression "puVar6 = PTR_s_entropy_source_000b23f0 + 0x330" identifier = (binary_expression "PTR_s_entropy_source_000b23f0 + 0x330" identifier + number_literal)) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5850" identifier + number_literal)) ;) }))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f5c" identifier + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) }))) (expression_statement "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" identifier = (call_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" (parenthesized_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)" ( (pointer_expression "*(code *)PTR_ssh2_fingerprint_000b29f8" * (cast_expression "(code *)PTR_ssh2_fingerprint_000b29f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x27],piVar18[0x22])" ( (subscript_expression "param_1[0x27]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar16 = param_1[0x44];" (assignment_expression "iVar16 = param_1[0x44]" identifier = (subscript_expression "param_1[0x44]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0x1e] = iVar3;" (assignment_expression "piVar18[0x1e] = iVar3" (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);" (call_expression "(*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f90" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);" (call_expression "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],piVar18[0x1e])" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);" (assignment_expression "iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22])" identifier = (call_expression "verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22])" identifier (argument_list "(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22])" ( identifier , (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x27]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5fac" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }" { (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar15 = PTR_verify_ssh_host_key_000b2a00;" (assignment_expression "puVar15 = PTR_verify_ssh_host_key_000b2a00" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);" (assignment_expression "uVar22 = *(undefined4 *)(param_1[0x27] + 0x34)" identifier = (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x34)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x34)" ( (binary_expression "param_1[0x27] + 0x34" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "puVar6 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar6 = PTR_LAB_000b28f8 + -0xf58" identifier = (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal)) ;) (expression_statement "iVar3 = piVar18[0x1e];" (assignment_expression "iVar3 = piVar18[0x1e]" identifier = (subscript_expression "piVar18[0x1e]" identifier [ number_literal ])) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);" (assignment_expression "iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1)" identifier = (call_expression "(*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1)" ( identifier , (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) , identifier , (subscript_expression "piVar18[0x1d]" identifier [ number_literal ]) , identifier , identifier , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" { (labeled_statement "LAB_000457e0:\n      *piVar18 = 0x1cf9;" statement_identifier : (expression_statement "*piVar18 = 0x1cf9;" (assignment_expression "*piVar18 = 0x1cf9" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (labeled_statement "LAB_00043094:\n    piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(piVar18[0x50] == 0)" ( (binary_expression "piVar18[0x50] == 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6028" identifier + number_literal)) ;) (labeled_statement "LAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);" statement_identifier : (expression_statement "FUN_00047994(param_1,puVar15,0,0,1);" (call_expression "FUN_00047994(param_1,puVar15,0,0,1)" identifier (argument_list "(param_1,puVar15,0,0,1)" ( identifier , identifier , number_literal , number_literal , number_literal ))) ;)) (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) })) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1e])" ( (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "param_1[0x28] = piVar18[0x1d];" (assignment_expression "param_1[0x28] = piVar18[0x1d]" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = (subscript_expression "piVar18[0x1d]" identifier [ number_literal ])) ;) (labeled_statement "LAB_000430d8:\n  iVar3 = param_1[0x27];" statement_identifier : (expression_statement "iVar3 = param_1[0x27];" (assignment_expression "iVar3 = param_1[0x27]" identifier = (subscript_expression "param_1[0x27]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);" statement_identifier : (expression_statement "(**(code **)(iVar3 + 4))(piVar18[0x22]);" (call_expression "(**(code **)(iVar3 + 4))(piVar18[0x22])" (parenthesized_expression "(**(code **)(iVar3 + 4))" ( (pointer_expression "**(code **)(iVar3 + 4)" * (pointer_expression "*(code **)(iVar3 + 4)" * (cast_expression "(code **)(iVar3 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) ))))) )) (argument_list "(piVar18[0x22])" ( (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) ))) ;)) (if_statement "if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }" if (parenthesized_expression "(piVar18[0x4d] == 0)" ( (binary_expression "piVar18[0x4d] == 0" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }" { (expression_statement "piVar23 = piVar18 + 0x25;" (assignment_expression "piVar23 = piVar18 + 0x25" identifier = (binary_expression "piVar18 + 0x25" identifier + number_literal)) ;) (expression_statement "piVar14 = param_1 + 0x29;" (assignment_expression "piVar14 = param_1 + 0x29" identifier = (binary_expression "param_1 + 0x29" identifier + number_literal)) ;) (do_statement "do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);" do (compound_statement "{\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    }" { (expression_statement "iVar7 = *piVar23;" (assignment_expression "iVar7 = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "iVar12 = piVar23[1];" (assignment_expression "iVar12 = piVar23[1]" identifier = (subscript_expression "piVar23[1]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = piVar23[2];" (assignment_expression "iVar16 = piVar23[2]" identifier = (subscript_expression "piVar23[2]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar23[3];" (assignment_expression "iVar3 = piVar23[3]" identifier = (subscript_expression "piVar23[3]" identifier [ number_literal ])) ;) (expression_statement "piVar23 = piVar23 + 4;" (assignment_expression "piVar23 = piVar23 + 4" identifier = (binary_expression "piVar23 + 4" identifier + number_literal)) ;) (expression_statement "*piVar14 = iVar7;" (assignment_expression "*piVar14 = iVar7" (pointer_expression "*piVar14" * identifier) = identifier) ;) (expression_statement "piVar14[1] = iVar12;" (assignment_expression "piVar14[1] = iVar12" (subscript_expression "piVar14[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar14[2] = iVar16;" (assignment_expression "piVar14[2] = iVar16" (subscript_expression "piVar14[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar14[3] = iVar3;" (assignment_expression "piVar14[3] = iVar3" (subscript_expression "piVar14[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar14 = piVar14 + 4;" (assignment_expression "piVar14 = piVar14 + 4" identifier = (binary_expression "piVar14 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar23 != piVar18 + 0x35)" ( (binary_expression "piVar23 != piVar18 + 0x35" identifier != (binary_expression "piVar18 + 0x35" identifier + number_literal)) )) ;) (expression_statement "uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);" (assignment_expression "uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" identifier = (pointer_expression "*(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" * (cast_expression "(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "param_1[0x39] = uVar4;" (assignment_expression "param_1[0x39] = uVar4" (subscript_expression "param_1[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }" if (parenthesized_expression "(0x40 < uVar4)" ( (binary_expression "0x40 < uVar4" number_literal < identifier) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x60a8" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar18[0x4d] = 1;" (assignment_expression "piVar18[0x4d] = 1" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "iVar3 = FUN_0003b04c(0x15);" (assignment_expression "iVar3 = FUN_0003b04c(0x15)" identifier = (call_expression "FUN_0003b04c(0x15)" identifier (argument_list "(0x15)" ( number_literal )))) ;) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00046280(param_1,iVar3);" (call_expression "FUN_00046280(param_1,iVar3)" identifier (argument_list "(param_1,iVar3)" ( identifier , identifier ))) ;) (expression_statement "param_1[0x1a2] = 0;" (assignment_expression "param_1[0x1a2] = 0" (subscript_expression "param_1[0x1a2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }" if (parenthesized_expression "(param_1[0x1a] != 0)" ( (binary_expression "param_1[0x1a] != 0" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (**(code **)(param_1[0x18] + 4))();\n  }" { (expression_statement "(**(code **)(param_1[0x18] + 4))();" (call_expression "(**(code **)(param_1[0x18] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x18] + 4))" ( (pointer_expression "**(code **)(param_1[0x18] + 4)" * (pointer_expression "*(code **)(param_1[0x18] + 4)" * (cast_expression "(code **)(param_1[0x18] + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x18] + 4)" ( (binary_expression "param_1[0x18] + 4" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar19 = (undefined4 *)piVar18[0x12];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x12]" identifier = (cast_expression "(undefined4 *)piVar18[0x12]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x12]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x18] = (int)puVar19;" (assignment_expression "param_1[0x18] = (int)puVar19" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }" { (expression_statement "iVar3 = (*(code *)*puVar19)();" (assignment_expression "iVar3 = (*(code *)*puVar19)()" identifier = (call_expression "(*(code *)*puVar19)()" (parenthesized_expression "(*(code *)*puVar19)" ( (pointer_expression "*(code *)*puVar19" * (cast_expression "(code *)*puVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0x1a] = iVar3;" (assignment_expression "param_1[0x1a] = iVar3" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }" if (parenthesized_expression "(param_1[0x20] != 0)" ( (binary_expression "param_1[0x20] != 0" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (**(code **)(param_1[0x1c] + 4))();\n  }" { (expression_statement "(**(code **)(param_1[0x1c] + 4))();" (call_expression "(**(code **)(param_1[0x1c] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x1c] + 4))" ( (pointer_expression "**(code **)(param_1[0x1c] + 4)" * (pointer_expression "*(code **)(param_1[0x1c] + 4)" * (cast_expression "(code **)(param_1[0x1c] + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x1c] + 4)" ( (binary_expression "param_1[0x1c] + 4" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar19 = (undefined4 *)piVar18[0x14];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x14]" identifier = (cast_expression "(undefined4 *)piVar18[0x14]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x14]" identifier [ number_literal ]))) ;) (expression_statement "iVar3 = piVar18[0x16];" (assignment_expression "iVar3 = piVar18[0x16]" identifier = (subscript_expression "piVar18[0x16]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x1c] = (int)puVar19;" (assignment_expression "param_1[0x1c] = (int)puVar19" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x1e] = iVar3;" (assignment_expression "param_1[0x1e] = iVar3" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }" { (expression_statement "iVar3 = (*(code *)*puVar19)(param_1[0x1a]);" (assignment_expression "iVar3 = (*(code *)*puVar19)(param_1[0x1a])" identifier = (call_expression "(*(code *)*puVar19)(param_1[0x1a])" (parenthesized_expression "(*(code *)*puVar19)" ( (pointer_expression "*(code *)*puVar19" * (cast_expression "(code *)*puVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) )) (argument_list "(param_1[0x1a])" ( (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) )))) ;) (expression_statement "param_1[0x20] = iVar3;" (assignment_expression "param_1[0x20] = iVar3" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }" if (parenthesized_expression "(param_1[0x24] != 0)" ( (binary_expression "param_1[0x24] != 0" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (**(code **)(param_1[0x22] + 0xc))();\n  }" { (expression_statement "(**(code **)(param_1[0x22] + 0xc))();" (call_expression "(**(code **)(param_1[0x22] + 0xc))()" (parenthesized_expression "(**(code **)(param_1[0x22] + 0xc))" ( (pointer_expression "**(code **)(param_1[0x22] + 0xc)" * (pointer_expression "*(code **)(param_1[0x22] + 0xc)" * (cast_expression "(code **)(param_1[0x22] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x22] + 0xc)" ( (binary_expression "param_1[0x22] + 0xc" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "iVar3 = piVar18[0x18];" (assignment_expression "iVar3 = piVar18[0x18]" identifier = (subscript_expression "piVar18[0x18]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x22] = iVar3;" (assignment_expression "param_1[0x22] = iVar3" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (**(code **)(iVar3 + 8))();" (assignment_expression "iVar3 = (**(code **)(iVar3 + 8))()" identifier = (call_expression "(**(code **)(iVar3 + 8))()" (parenthesized_expression "(**(code **)(iVar3 + 8))" ( (pointer_expression "**(code **)(iVar3 + 8)" * (pointer_expression "*(code **)(iVar3 + 8)" * (cast_expression "(code **)(iVar3 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0x24] = iVar3;" (assignment_expression "param_1[0x24] = iVar3" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }" if (parenthesized_expression "(param_1[0x18] != 0)" ( (binary_expression "param_1[0x18] != 0" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }" { (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x2c)" * (cast_expression "(undefined4 *)(param_1[0x18] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x2c)" ( (binary_expression "param_1[0x18] + 0x2c" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);" (call_expression "(**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x18] + 0xc))" ( (pointer_expression "**(code **)(param_1[0x18] + 0xc)" * (pointer_expression "*(code **)(param_1[0x18] + 0xc)" * (cast_expression "(code **)(param_1[0x18] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x18] + 0xc)" ( (binary_expression "param_1[0x18] + 0xc" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x1a],uVar22)" ( (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x2c)" * (cast_expression "(undefined4 *)(param_1[0x18] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x2c)" ( (binary_expression "param_1[0x18] + 0x2c" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x24)" * (cast_expression "(undefined4 *)(param_1[0x18] + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x24)" ( (binary_expression "param_1[0x18] + 0x24" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);" (call_expression "(**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x18] + 8))" ( (pointer_expression "**(code **)(param_1[0x18] + 8)" * (pointer_expression "*(code **)(param_1[0x18] + 8)" * (cast_expression "(code **)(param_1[0x18] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x18] + 8)" ( (binary_expression "param_1[0x18] + 8" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x1a],uVar22)" ( (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x18] + 0x24))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x24)" * (cast_expression "(undefined4 *)(param_1[0x18] + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x24)" ( (binary_expression "param_1[0x18] + 0x24" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) })) (if_statement "if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }" if (parenthesized_expression "(param_1[0x1c] == 0)" ( (binary_expression "param_1[0x1c] == 0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }" { (expression_statement "iVar3 = param_1[0x18];" (assignment_expression "iVar3 = param_1[0x18]" identifier = (subscript_expression "param_1[0x18]" identifier [ number_literal ])) ;) (if_statement "if (iVar3 != 0) goto LAB_0004339c;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004339c;" goto statement_identifier ;)) (expression_statement "iVar3 = param_1[0x22];" (assignment_expression "iVar3 = param_1[0x22]" identifier = (subscript_expression "param_1[0x22]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }" else (compound_statement "{\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }" { (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x1c] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x1c] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + 0x30)" ( (binary_expression "param_1[0x1c] + 0x30" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);" (call_expression "(**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x1c] + 8))" ( (pointer_expression "**(code **)(param_1[0x1c] + 8)" * (pointer_expression "*(code **)(param_1[0x1c] + 8)" * (cast_expression "(code **)(param_1[0x1c] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x1c] + 8)" ( (binary_expression "param_1[0x1c] + 8" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x20],uVar22)" ( (subscript_expression "param_1[0x20]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x1c] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x1c] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + 0x30)" ( (binary_expression "param_1[0x1c] + 0x30" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "iVar3 = param_1[0x18];" (assignment_expression "iVar3 = param_1[0x18]" identifier = (subscript_expression "param_1[0x18]" identifier [ number_literal ])) ;) (if_statement "if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }" { (labeled_statement "LAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));" statement_identifier : (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x60e0" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar3 + 0x34)" * (cast_expression "(undefined4 *)(iVar3 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) )))) ))) ;)) })) (if_statement "if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }" if (parenthesized_expression "(param_1[0x1c] != 0)" ( (binary_expression "param_1[0x1c] != 0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }" { (if_statement "if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }" if (parenthesized_expression "(param_1[0x1e] == 0)" ( (binary_expression "param_1[0x1e] == 0" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) }) (else_clause "else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }" else (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x585c" identifier + number_literal)) ;) }))) (if_statement "if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }" if (parenthesized_expression "(*(int *)(param_1[0x18] + 0x38) == 0)" ( (binary_expression "*(int *)(param_1[0x18] + 0x38) == 0" (pointer_expression "*(int *)(param_1[0x18] + 0x38)" * (cast_expression "(int *)(param_1[0x18] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x38)" ( (binary_expression "param_1[0x18] + 0x38" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) }) (else_clause "else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }" else (compound_statement "{\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x586c" identifier + number_literal)) ;) }))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6110" identifier + number_literal) , (pointer_expression "*(undefined4 *)(param_1[0x1c] + 0x34)" * (cast_expression "(undefined4 *)(param_1[0x1c] + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + 0x34)" ( (binary_expression "param_1[0x1c] + 0x34" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) )))) , identifier , identifier ))) ;) })) (expression_statement "iVar3 = param_1[0x22];" (assignment_expression "iVar3 = param_1[0x22]" identifier = (subscript_expression "param_1[0x22]" identifier [ number_literal ])) ;) }))) (if_statement "if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }" if (parenthesized_expression "(*(int *)(iVar3 + 0x24) != 0)" ( (binary_expression "*(int *)(iVar3 + 0x24) != 0" (pointer_expression "*(int *)(iVar3 + 0x24)" * (cast_expression "(int *)(iVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x24)" ( (binary_expression "iVar3 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }" { (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6144" identifier + number_literal) ))) ;) })) (expression_statement "param_1[0x59] = 0;" (assignment_expression "param_1[0x59] = 0" (subscript_expression "param_1[0x59]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }" if (parenthesized_expression "(0 < param_1[0x57])" ( (binary_expression "0 < param_1[0x57]" number_literal < (subscript_expression "param_1[0x57]" identifier [ number_literal ])) )) (compound_statement "{\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }" { (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);" do (compound_statement "{\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    }" { (expression_statement "iVar3 = local_80 * 4;" (assignment_expression "iVar3 = local_80 * 4" identifier = (binary_expression "local_80 * 4" identifier * number_literal)) ;) (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);" (call_expression "FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0)" identifier (argument_list "(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0)" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x56] + iVar3)" * (cast_expression "(undefined4 *)(param_1[0x56] + iVar3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x56] + iVar3)" ( (binary_expression "param_1[0x56] + iVar3" (subscript_expression "param_1[0x56]" identifier [ number_literal ]) + identifier) )))) , number_literal ))) ;) }) while (parenthesized_expression "(local_80 < param_1[0x57])" ( (binary_expression "local_80 < param_1[0x57]" identifier < (subscript_expression "param_1[0x57]" identifier [ number_literal ])) )) ;) })) (expression_statement "param_1[0x57] = 0;" (assignment_expression "param_1[0x57] = 0" (subscript_expression "param_1[0x57]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00046148();" (call_expression "FUN_00046148()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (labeled_statement "LAB_000434a4:\n  *piVar18 = 0x1d8a;" statement_identifier : (expression_statement "*piVar18 = 0x1d8a;" (assignment_expression "*piVar18 = 0x1d8a" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) (labeled_statement "code_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }" statement_identifier : (if_statement "if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }" if (parenthesized_expression "((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0))" ( (binary_expression "(local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)" (parenthesized_expression "(local_6c < 2)" ( (binary_expression "local_6c < 2" identifier < number_literal) )) && (parenthesized_expression "(iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)" ( (comma_expression "iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0" (assignment_expression "iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4)" identifier = (call_expression "(*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4)" ( (pointer_expression "*(undefined4 *)(piVar14[0x54] + 4)" * (cast_expression "(undefined4 *)(piVar14[0x54] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14[0x54] + 4)" ( (binary_expression "piVar14[0x54] + 4" (subscript_expression "piVar14[0x54]" identifier [ number_literal ]) + number_literal) )))) , identifier , identifier )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    piVar18[0x4c] = 1;\n  }" { (expression_statement "piVar18[0x4c] = 1;" (assignment_expression "piVar18[0x4c] = 1" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar14 + 3;" (assignment_expression "piVar14 = piVar14 + 3" identifier = (binary_expression "piVar14 + 3" identifier + number_literal)) ;) (if_statement "if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }" if (parenthesized_expression "(iVar16 == 0x10)" ( (binary_expression "iVar16 == 0x10" identifier == number_literal) )) (compound_statement "{\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }" { (labeled_statement "LAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );" statement_identifier : (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       )" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       )" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       )" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x59c8" identifier + number_literal) , (subscript_expression "local_50[local_74]" identifier [ identifier ]) , identifier , identifier )))) ;)) (goto_statement "goto LAB_00043628;" goto statement_identifier ;) })) (goto_statement "goto LAB_00043b44;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid do_ssh2_transport(Ssh_conflict ssh,void *vin,int inlen,Packet *pktin)\n\n{\n  uchar uVar1;\n  int *piVar2;\n  int iVar3;\n  ssh2_cipher *psVar4;\n  ssh_mac *psVar5;\n  ssh_compress *psVar6;\n  int iVar7;\n  int iVar8;\n  Bignum pvVar9;\n  Bignum_conflict pBVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  void *pvVar13;\n  uint uVar14;\n  int iVar15;\n  ssh_hash *psVar16;\n  ssh_signkey *psVar17;\n  Ssh_conflict ssh_00;\n  Socket ppsVar18;\n  ssh_kex *psVar19;\n  int *piVar20;\n  ulong uVar21;\n  int iVar22;\n  int iVar23;\n  char *pcVar24;\n  uchar *puVar25;\n  Packet *pPVar26;\n  int *piVar27;\n  uint uVar28;\n  uint bitnum;\n  ssh_signkey *psVar29;\n  undefined4 *puVar30;\n  Ssh_conflict psVar31;\n  int iVar32;\n  int iVar33;\n  int in_t9;\n  _func_void_ptr *p_Var34;\n  _func_void_ptr_void_ptr *p_Var35;\n  _func_void_void_ptr_void_ptr_int *p_Var36;\n  code *pcVar37;\n  code *pcVar38;\n  int iVar39;\n  int *piVar40;\n  int iStack_80;\n  uint uStack_74;\n  uint uStack_6c;\n  int *piStack_68;\n  char *str;\n  int len;\n  char *kexlist_descr [8];\n  uchar x [4];\n  \n  piVar2 = *(int **)(in_t9 + 0x70118);\n  iVar15 = *(int *)(in_t9 + 0x6f5bc);\n  kexlist_descr[2] = (char *)(iVar15 + 0x58b0);\n  iVar22 = *(int *)(in_t9 + 0x6f5bc);\n  kexlist_descr[3] = (char *)(iVar22 + 0x58c8);\n  iVar23 = *piVar2;\n  piVar27 = (int *)ssh->do_ssh2_transport_state;\n  kexlist_descr[0] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5884);\n  kexlist_descr[1] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x589c);\n  kexlist_descr[4] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58e0);\n  kexlist_descr[5] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58f8);\n  kexlist_descr[6] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5910);\n  kexlist_descr[7] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5934);\n  ssh_00 = (Ssh_conflict)kexlist_descr[2];\n  pPVar26 = pktin;\n  if (piVar27 == (int *)0x0) {\n    ssh_00 = (Ssh_conflict)&DAT_00000001;\n    piVar27 = (int *)(**(code **)(in_t9 + 0x6f61c))(1,0x74c);\n    ssh->do_ssh2_transport_state = piVar27;\n    *piVar27 = 0;\n  }\n  if (ssh->bare_connection != 0) {\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x5958,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18f9,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }\n  if (ssh->version != 2) {\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x4af0,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18fa,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar27;\n  if (iVar3 == 0x1b73) {\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b73;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x1f) {\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[7] = (int)pvVar9;\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[8] = (int)pvVar9;\n      if (((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)) {\n        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);\n        ssh->kex_ctx = pvVar13;\n        piVar27[0xe] = 0x20;\n        piVar27[0xf] = 0x21;\n        goto LAB_00043d90;\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44);\n    }\n    else {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);\n    }\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0x1b74) {\n    if (iVar3 == 0x1aff) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) {\nLAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = &ssh_00[0xd].banner.buffersize;\n        goto LAB_0004361c;\n      }\n      if (0 < inlen) {\nLAB_00043d00:\n        *piVar27 = 0x1aff;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nFUN_00044370:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar27[5] == 0) {\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6fb88);\n      inlen = *(int *)(piVar27[0x12] + 0x20);\n      ssh_00 = (Ssh_conflict)ssh->frontend;\n      pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n      ssh->frozen = 1;\n      iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh);\n      piVar27[0x50] = iVar15;\n      if (iVar15 < 0) goto LAB_0004440c;\nLAB_000434e0:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] != 0) goto LAB_00043510;\nLAB_000457e8:\n      pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);\n      goto LAB_00045800;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n        if (pktin != (Packet *)0x0) goto LAB_00043614;\n        if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }\n        piVar27[0x50] = ssh->user_response;\nLAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;\n        if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }\n        ssh->frozen = 0;\n        if (piVar27[0x50] == 0) goto LAB_000457e8;\nLAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;\n      }\n      else {\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }\n      *piVar27 = 0x1b43;\n      goto LAB_00042f18;\n    }\n    if (iVar3 == 0x1a26) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1a26;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x14) {\n        uStack_6c = 0xfffffffa;\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        iVar39 = *(int *)(in_t9 + 0x6f5ac);\n        iVar3 = pktin->savedpos;\n        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);\n        ssh->kex = (ssh_kex *)0x0;\n        iVar32 = *(int *)(random_ref + in_t9);\n        ssh->hostkey = (ssh_signkey *)0x0;\n        uStack_74 = 0;\n        piVar27[0x12] = 0;\n        piVar27[0x13] = 0;\n        piVar27[0x14] = 0;\n        piVar27[0x15] = 0;\n        piVar27[0x18] = 0;\n        piVar27[0x19] = 0;\n        piVar27[4] = 0;\n        piVar27[3] = 0;\n        piVar27[6] = 0;\n        piVar27[5] = 0;\n        pktin->savedpos = iVar3 + 0x10;\n        piVar27[0x51] = 0;\n        piStack_68 = piVar27;\n        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);\n      }\n      else {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) goto LAB_00043614;\n      if (0 < inlen) {\nLAB_00045494:\n        *piVar27 = 0x1abc;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nLAB_00043bcc:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar27[4] == 0) goto LAB_000443a0;\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      ssh->frozen = 1;\n      if (ssh->n_uncert_hostkeys < 1) {\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\nLAB_00045b94:\n        ssh_00 = psVar31;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);\n        piVar27[0x50] = iVar3;\n      }\n      else {\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }\n      if (-1 < iVar3) goto FUN_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar14 = ssh->remote_bugs;\n      piVar27[0x13] = 0;\n      piVar27[0x12] = 0;\n      piVar27[0x15] = 0;\n      piVar27[0x14] = 0;\n      piVar27[0x19] = 0;\n      piVar27[0x18] = 0;\n      piVar27[0x4e] = 0;\n      piVar27[0x4d] = 0;\n      piVar27[0x4b] = 0;\n      piVar27[0x4c] = 0;\n      if ((uVar14 & 2) == 0) {\n        piVar27[0x11] = 4;\n        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;\n        FUN_000448a0();\n        return;\n      }\n      piVar27[0x11] = 3;\n      piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc;\n      FUN_000448a0();\n      return;\n    }\n    goto LAB_00042f14;\n  }\n  if (iVar3 == 0x1c91) {\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1c91;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x20) {\n      ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20);\n      if (piVar27[0x1b] == 0) {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);\n      }\n      else {\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }\n    }\n    else {\n      (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);\n    }\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0x1c92) {\n    if (iVar3 == 0x1bec) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1bec;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x1f) {\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n        if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }\n      }\n      else {\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1c2a) {\n      if (pktin != (Packet *)0x0) {\n        if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }\n        goto LAB_0004361c;\n      }\nLAB_000451dc:\n      *piVar27 = 0x1c2a;\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1b96) goto LAB_00042f14;\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b96;\n      goto LAB_00042f18;\n    }\n    if (pktin->type != piVar27[0xf]) {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8);\n      goto LAB_0004361c;\n    }\n    (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n    ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n    if ((char *)piVar27[0x1a] == (char *)0x0) {\nLAB_000459b4:\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08);\n      goto LAB_0004361c;\n    }\n    pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n    piVar27[0x22] = (int)pvVar13;\n    pvVar9 = ssh2_pkt_getmp(pktin);\n    piVar27[10] = (int)pvVar9;\n    if ((pvVar9 == (Bignum)0x0) ||\n       (ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0))\n    goto LAB_000459b4;\n    pcVar24 = dh_validate_f(ssh->kex_ctx,(Bignum)piVar27[10]);\n    if (pcVar24 == (char *)0x0) {\n      pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10]);\n      pvVar13 = ssh->frontend;\n      pcVar37 = *(code **)(in_t9 + 0x6fb80);\n      piVar27[0xb] = (int)pvVar9;\n      (*pcVar37)(pvVar13,0);\n      hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 );\n      iVar15 = dh_is_gex(ssh->kex);\n      if (iVar15 == 0) {\n        psVar19 = ssh->kex;\n      }\n      else {\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }\n      hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9]);\n      hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10]);\n      dh_cleanup(ssh->kex_ctx);\n                    /* WARNING: Subroutine does not return */\n      freebn((Bignum_conflict)piVar27[10]);\n    }\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24);\n    goto LAB_00043628;\n  }\n  if (iVar3 != 0x1d8a) {\n    if (iVar3 == 0x1e09) {\n      if (pktin == (Packet *)0x0) {\n        if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }\n      }\n      else if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }\n      if (ssh->protocol_initial_phase_done == 0) {\n        ssh->protocol_initial_phase_done = 1;\n        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n        *piVar27 = 0x1e09;\n        ssh_00 = ssh;\n      }\n      else {\n        *piVar27 = 0x1e09;\n      }\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1cf9) goto LAB_00042f14;\n    ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n    if (pktin == (Packet *)0x0) {\n      if (inlen < 1) {\n        piVar27[0x50] = ssh->user_response;\n        goto LAB_00043094;\n      }\n      goto LAB_000457e0;\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = &ssh_00[0xe].agentfwd_enabled;\n    goto LAB_0004361c;\n  }\n  if (pktin == (Packet *)0x0) goto LAB_000434a4;\n  if (pktin->type != 0x15) {\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6160);\n    goto LAB_0004361c;\n  }\n  ssh->incoming_data_size = 0;\n  if (ssh->sc_cipher_ctx != (void *)0x0) {\n    (*ssh->sccipher->free_context)(ssh->sc_cipher_ctx);\n  }\n  psVar4 = (ssh2_cipher *)piVar27[0x13];\n  if (psVar4 != (ssh2_cipher *)0x0) {\n    p_Var34 = psVar4->make_context;\n    ssh->sccipher = psVar4;\n    pvVar13 = (*p_Var34)();\n    ssh->sc_cipher_ctx = pvVar13;\n  }\n  if (ssh->sc_mac_ctx != (void *)0x0) {\n    (*ssh->scmac->free_context)(ssh->sc_mac_ctx);\n  }\n  psVar5 = (ssh_mac *)piVar27[0x15];\n  if (psVar5 != (ssh_mac *)0x0) {\n    iVar15 = piVar27[0x17];\n    p_Var35 = psVar5->make_context;\n    ssh->scmac = psVar5;\n    ssh->scmac_etm = iVar15;\n    pvVar13 = (*p_Var35)(ssh->sc_cipher_ctx);\n    ssh->sc_mac_ctx = pvVar13;\n  }\n  if (ssh->sc_comp_ctx != (void *)0x0) {\n    (*ssh->sccomp->decompress_cleanup)(ssh->sc_comp_ctx);\n  }\n  psVar6 = (ssh_compress *)piVar27[0x19];\n  ssh->sccomp = psVar6;\n  pvVar13 = (*psVar6->decompress_init)();\n  ssh->sc_comp_ctx = pvVar13;\n  if (ssh->sccipher != (ssh2_cipher *)0x0) {\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',\n                         ssh->sccipher->padded_keybytes);\n    (*ssh->sccipher->setkey)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->padded_keybytes);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',\n                         ssh->sccipher->blksize);\n    (*ssh->sccipher->setiv)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->blksize);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n  }\n  if (ssh->scmac == (ssh_mac *)0x0) {\n    psVar4 = ssh->sccipher;\n    if (psVar4 == (ssh2_cipher *)0x0) {\n      psVar6 = ssh->sccomp;\n      goto LAB_0004483c;\n    }\nLAB_000447c0:\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name);\n  }\n  else {\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen);\n    (*ssh->scmac->setkey)(ssh->sc_mac_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->scmac->keylen);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    psVar4 = ssh->sccipher;\n    if (psVar4 != (ssh2_cipher *)0x0) goto LAB_000447c0;\n  }\n  if (ssh->scmac != (ssh_mac *)0x0) {\n    if (ssh->scmac_etm == 0) {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n    }\n    if (ssh->sccipher->required_mac == (ssh_mac *)0x0) {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,iVar15,iVar22);\n  }\n  psVar6 = ssh->sccomp;\nLAB_0004483c:\n  if (psVar6->text_name != (char *)0x0) {\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec));\n  }\n                    /* WARNING: Subroutine does not return */\n  freebn((Bignum_conflict)piVar27[0xb]);\ncode_r0x00043b68:\n  if ((uStack_6c < 2) &&\n     (iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0)) {\n    piVar27[0x4c] = 1;\n  }\n  iVar33 = iVar33 + 1;\n  piVar20 = piVar20 + 3;\n  if (iVar33 == 0x10) {\nLAB_00043b7c:\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24);\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\nLAB_000456a8:\n  if (iVar15 != 0) {\n    if (iVar3 < 2) {\n      iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;\n    }\n    else {\n      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22);\n    (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n  }\n  iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n  pvVar13 = ssh->frontend;\n  piVar27[0x1e] = iVar15;\n  (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n            (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x5f90);\n  (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e]);\n  iVar15 = verify_ssh_manual_host_key(ssh,(char *)piVar27[0x1e],ssh->hostkey,(void *)piVar27[0x22]);\n  piVar27[0x50] = iVar15;\n  if (iVar15 != 0) {\n    pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n    if (-1 < iVar15) {\nLAB_000430c8:\n      (*pcVar37)(piVar27[0x1e]);\n      ssh->hostkey_str = (char *)piVar27[0x1d];\nLAB_000430d8:\n      psVar17 = ssh->hostkey;\nLAB_000430dc:\n      (*psVar17->freekey)((void *)piVar27[0x22]);\n      if (piVar27[0x4d] == 0) {\n        piVar20 = piVar27 + 0x25;\n        puVar25 = ssh->v2_session_id;\n        do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);\n        uVar14 = ssh->kex->hash->hlen;\n        ssh->v2_session_id_len = uVar14;\n        if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        piVar27[0x4d] = 1;\n      }\n      pPVar26 = ssh2_pkt_init(0x15);\n      piVar27[0x4f] = (int)pPVar26;\n      ssh2_pkt_send_noqueue(ssh,pPVar26);\n      ssh->outgoing_data_size = 0;\n      if (ssh->cs_cipher_ctx != (void *)0x0) {\n        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);\n      }\n      psVar4 = (ssh2_cipher *)piVar27[0x12];\n      ssh->cscipher = psVar4;\n      if (psVar4 != (ssh2_cipher *)0x0) {\n        pvVar13 = (*psVar4->make_context)();\n        ssh->cs_cipher_ctx = pvVar13;\n      }\n      if (ssh->cs_mac_ctx != (void *)0x0) {\n        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);\n      }\n      psVar5 = (ssh_mac *)piVar27[0x14];\n      iVar15 = piVar27[0x16];\n      ssh->csmac = psVar5;\n      ssh->csmac_etm = iVar15;\n      if (psVar5 != (ssh_mac *)0x0) {\n        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);\n        ssh->cs_mac_ctx = pvVar13;\n      }\n      if (ssh->cs_comp_ctx != (void *)0x0) {\n        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);\n      }\n      psVar6 = (ssh_compress *)piVar27[0x18];\n      ssh->cscomp = psVar6;\n      pvVar13 = (*psVar6->compress_init)();\n      ssh->cs_comp_ctx = pvVar13;\n      if (ssh->cscipher != (ssh2_cipher *)0x0) {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);\n        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);\n        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n      }\n      if (ssh->csmac == (ssh_mac *)0x0) {\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;\n        psVar6 = ssh->cscomp;\n      }\n      else {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }\n      if (psVar6->text_name != (char *)0x0) {\n        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));\n      }\n      ssh->queueing = 0;\n      if (0 < ssh->queuelen) {\n        iStack_80 = 0;\n        do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);\n      }\n      ssh->queuelen = 0;\n      ssh_pkt_defersend(ssh);\n      ssh_00 = ssh;\nLAB_000434a4:\n      *piVar27 = 0x1d8a;\n      goto LAB_00042f18;\n    }\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6fc14);\n    pcVar24 = ssh->hostkey->keytype;\n    iVar15 = *(int *)(in_t9 + 0x6fb0c);\n    iVar22 = piVar27[0x1e];\n    ssh_00 = (Ssh_conflict)ssh->frontend;\n    ssh->frozen = 1;\n    iVar15 = (*pcVar37)(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,\n                        iVar15 + -0xf58,ssh);\n    piVar27[0x50] = iVar15;\n    if (iVar15 < 0) {\nLAB_000457e0:\n      *piVar27 = 0x1cf9;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,0);\n    }\n    ssh->frozen = 0;\n    if (piVar27[0x50] != 0) {\n      pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n      goto LAB_000430c8;\n    }\n    pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6028);\nLAB_00045800:\n    ssh_disconnect(ssh,pcVar24,(char *)0x0,0,1);\n    *piVar27 = 0;\n    ssh_00 = ssh;\n    goto LAB_00042f18;\n  }\n  pcVar37 = *(code **)(in_t9 + 0x6f618);\n  piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5fac);\nLAB_0004361c:\n  pcVar24 = (char *)(*pcVar37)(piVar20);\nLAB_00043628:\n  bomb_out(ssh,pcVar24);\n  ssh_00 = ssh;\nLAB_00042f14:\n  *piVar27 = 0;\nLAB_00042f18:\n  if (iVar23 == *piVar2) {\n    return;\n  }\n  pcVar37 = *(code **)(in_t9 + 0x700ec);\n  (*pcVar37)();\n  puVar25 = ssh_00->deferred_send_data;\n  iVar15 = s_write((Ssh_conflict)&ssh_00->s,ssh_00->logctx,(int)puVar25,\n                   (Ssh_conflict)ssh_00->deferred_len);\n  ssh_00->deferred_size = 0;\n  pcVar38 = *(code **)(pcVar37 + 0x6c288);\n  ssh_00->deferred_len = 0;\n  (*pcVar38)(ssh_00->deferred_send_data);\n  ssh_00->deferred_send_data = (uchar *)0x0;\n  if ((0x8000 < iVar15) && (ssh_00->throttled_all != 1)) {\n    ssh_00->throttled_all = 1;\n    ssh_00->overall_bufsize = iVar15;\n    if (ssh_00->channels != (tree234 *)0x0) {\n      ssh_throttle_all(ssh_00,1,(int)puVar25);\n    }\n  }\n  if (ssh_00->version == 2) {\n    uVar21 = ssh_00->deferred_data_size;\n    ssh_00->deferred_data_size = 0;\n    uVar14 = ssh_00->outgoing_data_size + uVar21;\n    ssh_00->outgoing_data_size = uVar14;\n    if ((((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0)) && (ssh_00->max_data_size < uVar14)) {\n      do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0);\n      return;\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void do_ssh2_transport(Ssh_conflict ssh,void *vin,int inlen,Packet *pktin)\n\n{\n  uchar uVar1;\n  int *piVar2;\n  int iVar3;\n  ssh2_cipher *psVar4;\n  ssh_mac *psVar5;\n  ssh_compress *psVar6;\n  int iVar7;\n  int iVar8;\n  Bignum pvVar9;\n  Bignum_conflict pBVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  void *pvVar13;\n  uint uVar14;\n  int iVar15;\n  ssh_hash *psVar16;\n  ssh_signkey *psVar17;\n  Ssh_conflict ssh_00;\n  Socket ppsVar18;\n  ssh_kex *psVar19;\n  int *piVar20;\n  ulong uVar21;\n  int iVar22;\n  int iVar23;\n  char *pcVar24;\n  uchar *puVar25;\n  Packet *pPVar26;\n  int *piVar27;\n  uint uVar28;\n  uint bitnum;\n  ssh_signkey *psVar29;\n  undefined4 *puVar30;\n  Ssh_conflict psVar31;\n  int iVar32;\n  int iVar33;\n  int in_t9;\n  _func_void_ptr *p_Var34;\n  _func_void_ptr_void_ptr *p_Var35;\n  _func_void_void_ptr_void_ptr_int *p_Var36;\n  code *pcVar37;\n  code *pcVar38;\n  int iVar39;\n  int *piVar40;\n  int iStack_80;\n  uint uStack_74;\n  uint uStack_6c;\n  int *piStack_68;\n  char *str;\n  int len;\n  char *kexlist_descr [8];\n  uchar x [4];\n  \n  piVar2 = *(int **)(in_t9 + 0x70118);\n  iVar15 = *(int *)(in_t9 + 0x6f5bc);\n  kexlist_descr[2] = (char *)(iVar15 + 0x58b0);\n  iVar22 = *(int *)(in_t9 + 0x6f5bc);\n  kexlist_descr[3] = (char *)(iVar22 + 0x58c8);\n  iVar23 = *piVar2;\n  piVar27 = (int *)ssh->do_ssh2_transport_state;\n  kexlist_descr[0] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5884);\n  kexlist_descr[1] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x589c);\n  kexlist_descr[4] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58e0);\n  kexlist_descr[5] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58f8);\n  kexlist_descr[6] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5910);\n  kexlist_descr[7] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5934);\n  ssh_00 = (Ssh_conflict)kexlist_descr[2];\n  pPVar26 = pktin;\n  if (piVar27 == (int *)0x0) {\n    ssh_00 = (Ssh_conflict)&DAT_00000001;\n    piVar27 = (int *)(**(code **)(in_t9 + 0x6f61c))(1,0x74c);\n    ssh->do_ssh2_transport_state = piVar27;\n    *piVar27 = 0;\n  }\n  if (ssh->bare_connection != 0) {\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x5958,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18f9,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }\n  if (ssh->version != 2) {\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x4af0,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18fa,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar27;\n  if (iVar3 == 0x1b73) {\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b73;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x1f) {\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[7] = (int)pvVar9;\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[8] = (int)pvVar9;\n      if (((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)) {\n        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);\n        ssh->kex_ctx = pvVar13;\n        piVar27[0xe] = 0x20;\n        piVar27[0xf] = 0x21;\n        goto LAB_00043d90;\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44);\n    }\n    else {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);\n    }\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0x1b74) {\n    if (iVar3 == 0x1aff) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) {\nLAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = &ssh_00[0xd].banner.buffersize;\n        goto LAB_0004361c;\n      }\n      if (0 < inlen) {\nLAB_00043d00:\n        *piVar27 = 0x1aff;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nFUN_00044370:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar27[5] == 0) {\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6fb88);\n      inlen = *(int *)(piVar27[0x12] + 0x20);\n      ssh_00 = (Ssh_conflict)ssh->frontend;\n      pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n      ssh->frozen = 1;\n      iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh);\n      piVar27[0x50] = iVar15;\n      if (iVar15 < 0) goto LAB_0004440c;\nLAB_000434e0:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] != 0) goto LAB_00043510;\nLAB_000457e8:\n      pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);\n      goto LAB_00045800;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n        if (pktin != (Packet *)0x0) goto LAB_00043614;\n        if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }\n        piVar27[0x50] = ssh->user_response;\nLAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;\n        if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }\n        ssh->frozen = 0;\n        if (piVar27[0x50] == 0) goto LAB_000457e8;\nLAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;\n      }\n      else {\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }\n      *piVar27 = 0x1b43;\n      goto LAB_00042f18;\n    }\n    if (iVar3 == 0x1a26) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1a26;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x14) {\n        uStack_6c = 0xfffffffa;\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        iVar39 = *(int *)(in_t9 + 0x6f5ac);\n        iVar3 = pktin->savedpos;\n        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);\n        ssh->kex = (ssh_kex *)0x0;\n        iVar32 = *(int *)(random_ref + in_t9);\n        ssh->hostkey = (ssh_signkey *)0x0;\n        uStack_74 = 0;\n        piVar27[0x12] = 0;\n        piVar27[0x13] = 0;\n        piVar27[0x14] = 0;\n        piVar27[0x15] = 0;\n        piVar27[0x18] = 0;\n        piVar27[0x19] = 0;\n        piVar27[4] = 0;\n        piVar27[3] = 0;\n        piVar27[6] = 0;\n        piVar27[5] = 0;\n        pktin->savedpos = iVar3 + 0x10;\n        piVar27[0x51] = 0;\n        piStack_68 = piVar27;\n        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);\n      }\n      else {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) goto LAB_00043614;\n      if (0 < inlen) {\nLAB_00045494:\n        *piVar27 = 0x1abc;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nLAB_00043bcc:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar27[4] == 0) goto LAB_000443a0;\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      ssh->frozen = 1;\n      if (ssh->n_uncert_hostkeys < 1) {\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\nLAB_00045b94:\n        ssh_00 = psVar31;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);\n        piVar27[0x50] = iVar3;\n      }\n      else {\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }\n      if (-1 < iVar3) goto FUN_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar14 = ssh->remote_bugs;\n      piVar27[0x13] = 0;\n      piVar27[0x12] = 0;\n      piVar27[0x15] = 0;\n      piVar27[0x14] = 0;\n      piVar27[0x19] = 0;\n      piVar27[0x18] = 0;\n      piVar27[0x4e] = 0;\n      piVar27[0x4d] = 0;\n      piVar27[0x4b] = 0;\n      piVar27[0x4c] = 0;\n      if ((uVar14 & 2) == 0) {\n        piVar27[0x11] = 4;\n        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;\n        FUN_000448a0();\n        return;\n      }\n      piVar27[0x11] = 3;\n      piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc;\n      FUN_000448a0();\n      return;\n    }\n    goto LAB_00042f14;\n  }\n  if (iVar3 == 0x1c91) {\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1c91;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x20) {\n      ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20);\n      if (piVar27[0x1b] == 0) {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);\n      }\n      else {\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }\n    }\n    else {\n      (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);\n    }\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0x1c92) {\n    if (iVar3 == 0x1bec) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1bec;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x1f) {\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n        if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }\n      }\n      else {\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1c2a) {\n      if (pktin != (Packet *)0x0) {\n        if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }\n        goto LAB_0004361c;\n      }\nLAB_000451dc:\n      *piVar27 = 0x1c2a;\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1b96) goto LAB_00042f14;\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b96;\n      goto LAB_00042f18;\n    }\n    if (pktin->type != piVar27[0xf]) {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8);\n      goto LAB_0004361c;\n    }\n    (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n    ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n    if ((char *)piVar27[0x1a] == (char *)0x0) {\nLAB_000459b4:\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08);\n      goto LAB_0004361c;\n    }\n    pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n    piVar27[0x22] = (int)pvVar13;\n    pvVar9 = ssh2_pkt_getmp(pktin);\n    piVar27[10] = (int)pvVar9;\n    if ((pvVar9 == (Bignum)0x0) ||\n       (ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0))\n    goto LAB_000459b4;\n    pcVar24 = dh_validate_f(ssh->kex_ctx,(Bignum)piVar27[10]);\n    if (pcVar24 == (char *)0x0) {\n      pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10]);\n      pvVar13 = ssh->frontend;\n      pcVar37 = *(code **)(in_t9 + 0x6fb80);\n      piVar27[0xb] = (int)pvVar9;\n      (*pcVar37)(pvVar13,0);\n      hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 );\n      iVar15 = dh_is_gex(ssh->kex);\n      if (iVar15 == 0) {\n        psVar19 = ssh->kex;\n      }\n      else {\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }\n      hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9]);\n      hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10]);\n      dh_cleanup(ssh->kex_ctx);\n                    /* WARNING: Subroutine does not return */\n      freebn((Bignum_conflict)piVar27[10]);\n    }\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24);\n    goto LAB_00043628;\n  }\n  if (iVar3 != 0x1d8a) {\n    if (iVar3 == 0x1e09) {\n      if (pktin == (Packet *)0x0) {\n        if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }\n      }\n      else if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }\n      if (ssh->protocol_initial_phase_done == 0) {\n        ssh->protocol_initial_phase_done = 1;\n        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n        *piVar27 = 0x1e09;\n        ssh_00 = ssh;\n      }\n      else {\n        *piVar27 = 0x1e09;\n      }\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1cf9) goto LAB_00042f14;\n    ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n    if (pktin == (Packet *)0x0) {\n      if (inlen < 1) {\n        piVar27[0x50] = ssh->user_response;\n        goto LAB_00043094;\n      }\n      goto LAB_000457e0;\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = &ssh_00[0xe].agentfwd_enabled;\n    goto LAB_0004361c;\n  }\n  if (pktin == (Packet *)0x0) goto LAB_000434a4;\n  if (pktin->type != 0x15) {\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6160);\n    goto LAB_0004361c;\n  }\n  ssh->incoming_data_size = 0;\n  if (ssh->sc_cipher_ctx != (void *)0x0) {\n    (*ssh->sccipher->free_context)(ssh->sc_cipher_ctx);\n  }\n  psVar4 = (ssh2_cipher *)piVar27[0x13];\n  if (psVar4 != (ssh2_cipher *)0x0) {\n    p_Var34 = psVar4->make_context;\n    ssh->sccipher = psVar4;\n    pvVar13 = (*p_Var34)();\n    ssh->sc_cipher_ctx = pvVar13;\n  }\n  if (ssh->sc_mac_ctx != (void *)0x0) {\n    (*ssh->scmac->free_context)(ssh->sc_mac_ctx);\n  }\n  psVar5 = (ssh_mac *)piVar27[0x15];\n  if (psVar5 != (ssh_mac *)0x0) {\n    iVar15 = piVar27[0x17];\n    p_Var35 = psVar5->make_context;\n    ssh->scmac = psVar5;\n    ssh->scmac_etm = iVar15;\n    pvVar13 = (*p_Var35)(ssh->sc_cipher_ctx);\n    ssh->sc_mac_ctx = pvVar13;\n  }\n  if (ssh->sc_comp_ctx != (void *)0x0) {\n    (*ssh->sccomp->decompress_cleanup)(ssh->sc_comp_ctx);\n  }\n  psVar6 = (ssh_compress *)piVar27[0x19];\n  ssh->sccomp = psVar6;\n  pvVar13 = (*psVar6->decompress_init)();\n  ssh->sc_comp_ctx = pvVar13;\n  if (ssh->sccipher != (ssh2_cipher *)0x0) {\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',\n                         ssh->sccipher->padded_keybytes);\n    (*ssh->sccipher->setkey)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->padded_keybytes);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',\n                         ssh->sccipher->blksize);\n    (*ssh->sccipher->setiv)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->blksize);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n  }\n  if (ssh->scmac == (ssh_mac *)0x0) {\n    psVar4 = ssh->sccipher;\n    if (psVar4 == (ssh2_cipher *)0x0) {\n      psVar6 = ssh->sccomp;\n      goto LAB_0004483c;\n    }\nLAB_000447c0:\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name);\n  }\n  else {\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen);\n    (*ssh->scmac->setkey)(ssh->sc_mac_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->scmac->keylen);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    psVar4 = ssh->sccipher;\n    if (psVar4 != (ssh2_cipher *)0x0) goto LAB_000447c0;\n  }\n  if (ssh->scmac != (ssh_mac *)0x0) {\n    if (ssh->scmac_etm == 0) {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n    }\n    if (ssh->sccipher->required_mac == (ssh_mac *)0x0) {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,iVar15,iVar22);\n  }\n  psVar6 = ssh->sccomp;\nLAB_0004483c:\n  if (psVar6->text_name != (char *)0x0) {\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec));\n  }\n                    /* WARNING: Subroutine does not return */\n  freebn((Bignum_conflict)piVar27[0xb]);\ncode_r0x00043b68:\n  if ((uStack_6c < 2) &&\n     (iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0)) {\n    piVar27[0x4c] = 1;\n  }\n  iVar33 = iVar33 + 1;\n  piVar20 = piVar20 + 3;\n  if (iVar33 == 0x10) {\nLAB_00043b7c:\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24);\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\nLAB_000456a8:\n  if (iVar15 != 0) {\n    if (iVar3 < 2) {\n      iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;\n    }\n    else {\n      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22);\n    (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n  }\n  iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n  pvVar13 = ssh->frontend;\n  piVar27[0x1e] = iVar15;\n  (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n            (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x5f90);\n  (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e]);\n  iVar15 = verify_ssh_manual_host_key(ssh,(char *)piVar27[0x1e],ssh->hostkey,(void *)piVar27[0x22]);\n  piVar27[0x50] = iVar15;\n  if (iVar15 != 0) {\n    pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n    if (-1 < iVar15) {\nLAB_000430c8:\n      (*pcVar37)(piVar27[0x1e]);\n      ssh->hostkey_str = (char *)piVar27[0x1d];\nLAB_000430d8:\n      psVar17 = ssh->hostkey;\nLAB_000430dc:\n      (*psVar17->freekey)((void *)piVar27[0x22]);\n      if (piVar27[0x4d] == 0) {\n        piVar20 = piVar27 + 0x25;\n        puVar25 = ssh->v2_session_id;\n        do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);\n        uVar14 = ssh->kex->hash->hlen;\n        ssh->v2_session_id_len = uVar14;\n        if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        piVar27[0x4d] = 1;\n      }\n      pPVar26 = ssh2_pkt_init(0x15);\n      piVar27[0x4f] = (int)pPVar26;\n      ssh2_pkt_send_noqueue(ssh,pPVar26);\n      ssh->outgoing_data_size = 0;\n      if (ssh->cs_cipher_ctx != (void *)0x0) {\n        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);\n      }\n      psVar4 = (ssh2_cipher *)piVar27[0x12];\n      ssh->cscipher = psVar4;\n      if (psVar4 != (ssh2_cipher *)0x0) {\n        pvVar13 = (*psVar4->make_context)();\n        ssh->cs_cipher_ctx = pvVar13;\n      }\n      if (ssh->cs_mac_ctx != (void *)0x0) {\n        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);\n      }\n      psVar5 = (ssh_mac *)piVar27[0x14];\n      iVar15 = piVar27[0x16];\n      ssh->csmac = psVar5;\n      ssh->csmac_etm = iVar15;\n      if (psVar5 != (ssh_mac *)0x0) {\n        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);\n        ssh->cs_mac_ctx = pvVar13;\n      }\n      if (ssh->cs_comp_ctx != (void *)0x0) {\n        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);\n      }\n      psVar6 = (ssh_compress *)piVar27[0x18];\n      ssh->cscomp = psVar6;\n      pvVar13 = (*psVar6->compress_init)();\n      ssh->cs_comp_ctx = pvVar13;\n      if (ssh->cscipher != (ssh2_cipher *)0x0) {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);\n        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);\n        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n      }\n      if (ssh->csmac == (ssh_mac *)0x0) {\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;\n        psVar6 = ssh->cscomp;\n      }\n      else {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }\n      if (psVar6->text_name != (char *)0x0) {\n        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));\n      }\n      ssh->queueing = 0;\n      if (0 < ssh->queuelen) {\n        iStack_80 = 0;\n        do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);\n      }\n      ssh->queuelen = 0;\n      ssh_pkt_defersend(ssh);\n      ssh_00 = ssh;\nLAB_000434a4:\n      *piVar27 = 0x1d8a;\n      goto LAB_00042f18;\n    }\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6fc14);\n    pcVar24 = ssh->hostkey->keytype;\n    iVar15 = *(int *)(in_t9 + 0x6fb0c);\n    iVar22 = piVar27[0x1e];\n    ssh_00 = (Ssh_conflict)ssh->frontend;\n    ssh->frozen = 1;\n    iVar15 = (*pcVar37)(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,\n                        iVar15 + -0xf58,ssh);\n    piVar27[0x50] = iVar15;\n    if (iVar15 < 0) {\nLAB_000457e0:\n      *piVar27 = 0x1cf9;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,0);\n    }\n    ssh->frozen = 0;\n    if (piVar27[0x50] != 0) {\n      pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n      goto LAB_000430c8;\n    }\n    pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6028);\nLAB_00045800:\n    ssh_disconnect(ssh,pcVar24,(char *)0x0,0,1);\n    *piVar27 = 0;\n    ssh_00 = ssh;\n    goto LAB_00042f18;\n  }\n  pcVar37 = *(code **)(in_t9 + 0x6f618);\n  piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5fac);\nLAB_0004361c:\n  pcVar24 = (char *)(*pcVar37)(piVar20);\nLAB_00043628:\n  bomb_out(ssh,pcVar24);\n  ssh_00 = ssh;\nLAB_00042f14:\n  *piVar27 = 0;\nLAB_00042f18:\n  if (iVar23 == *piVar2) {\n    return;\n  }\n  pcVar37 = *(code **)(in_t9 + 0x700ec);\n  (*pcVar37)();\n  puVar25 = ssh_00->deferred_send_data;\n  iVar15 = s_write((Ssh_conflict)&ssh_00->s,ssh_00->logctx,(int)puVar25,\n                   (Ssh_conflict)ssh_00->deferred_len);\n  ssh_00->deferred_size = 0;\n  pcVar38 = *(code **)(pcVar37 + 0x6c288);\n  ssh_00->deferred_len = 0;\n  (*pcVar38)(ssh_00->deferred_send_data);\n  ssh_00->deferred_send_data = (uchar *)0x0;\n  if ((0x8000 < iVar15) && (ssh_00->throttled_all != 1)) {\n    ssh_00->throttled_all = 1;\n    ssh_00->overall_bufsize = iVar15;\n    if (ssh_00->channels != (tree234 *)0x0) {\n      ssh_throttle_all(ssh_00,1,(int)puVar25);\n    }\n  }\n  if (ssh_00->version == 2) {\n    uVar21 = ssh_00->deferred_data_size;\n    ssh_00->deferred_data_size = 0;\n    uVar14 = ssh_00->outgoing_data_size + uVar21;\n    ssh_00->outgoing_data_size = uVar14;\n    if ((((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0)) && (ssh_00->max_data_size < uVar14)) {\n      do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0);\n      return;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "do_ssh2_transport(Ssh_conflict ssh,void *vin,int inlen,Packet *pktin)" identifier (parameter_list "(Ssh_conflict ssh,void *vin,int inlen,Packet *pktin)" ( (parameter_declaration "Ssh_conflict ssh" type_identifier identifier) , (parameter_declaration "void *vin" primitive_type (pointer_declarator "*vin" * identifier)) , (parameter_declaration "int inlen" primitive_type identifier) , (parameter_declaration "Packet *pktin" type_identifier (pointer_declarator "*pktin" * identifier)) ))) (compound_statement "{\n  uchar uVar1;\n  int *piVar2;\n  int iVar3;\n  ssh2_cipher *psVar4;\n  ssh_mac *psVar5;\n  ssh_compress *psVar6;\n  int iVar7;\n  int iVar8;\n  Bignum pvVar9;\n  Bignum_conflict pBVar10;\n  undefined4 uVar11;\n  undefined1 *puVar12;\n  void *pvVar13;\n  uint uVar14;\n  int iVar15;\n  ssh_hash *psVar16;\n  ssh_signkey *psVar17;\n  Ssh_conflict ssh_00;\n  Socket ppsVar18;\n  ssh_kex *psVar19;\n  int *piVar20;\n  ulong uVar21;\n  int iVar22;\n  int iVar23;\n  char *pcVar24;\n  uchar *puVar25;\n  Packet *pPVar26;\n  int *piVar27;\n  uint uVar28;\n  uint bitnum;\n  ssh_signkey *psVar29;\n  undefined4 *puVar30;\n  Ssh_conflict psVar31;\n  int iVar32;\n  int iVar33;\n  int in_t9;\n  _func_void_ptr *p_Var34;\n  _func_void_ptr_void_ptr *p_Var35;\n  _func_void_void_ptr_void_ptr_int *p_Var36;\n  code *pcVar37;\n  code *pcVar38;\n  int iVar39;\n  int *piVar40;\n  int iStack_80;\n  uint uStack_74;\n  uint uStack_6c;\n  int *piStack_68;\n  char *str;\n  int len;\n  char *kexlist_descr [8];\n  uchar x [4];\n  \n  piVar2 = *(int **)(in_t9 + 0x70118);\n  iVar15 = *(int *)(in_t9 + 0x6f5bc);\n  kexlist_descr[2] = (char *)(iVar15 + 0x58b0);\n  iVar22 = *(int *)(in_t9 + 0x6f5bc);\n  kexlist_descr[3] = (char *)(iVar22 + 0x58c8);\n  iVar23 = *piVar2;\n  piVar27 = (int *)ssh->do_ssh2_transport_state;\n  kexlist_descr[0] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5884);\n  kexlist_descr[1] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x589c);\n  kexlist_descr[4] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58e0);\n  kexlist_descr[5] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58f8);\n  kexlist_descr[6] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5910);\n  kexlist_descr[7] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5934);\n  ssh_00 = (Ssh_conflict)kexlist_descr[2];\n  pPVar26 = pktin;\n  if (piVar27 == (int *)0x0) {\n    ssh_00 = (Ssh_conflict)&DAT_00000001;\n    piVar27 = (int *)(**(code **)(in_t9 + 0x6f61c))(1,0x74c);\n    ssh->do_ssh2_transport_state = piVar27;\n    *piVar27 = 0;\n  }\n  if (ssh->bare_connection != 0) {\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x5958,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18f9,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }\n  if (ssh->version != 2) {\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x4af0,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18fa,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar27;\n  if (iVar3 == 0x1b73) {\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b73;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x1f) {\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[7] = (int)pvVar9;\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[8] = (int)pvVar9;\n      if (((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)) {\n        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);\n        ssh->kex_ctx = pvVar13;\n        piVar27[0xe] = 0x20;\n        piVar27[0xf] = 0x21;\n        goto LAB_00043d90;\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44);\n    }\n    else {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);\n    }\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0x1b74) {\n    if (iVar3 == 0x1aff) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) {\nLAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = &ssh_00[0xd].banner.buffersize;\n        goto LAB_0004361c;\n      }\n      if (0 < inlen) {\nLAB_00043d00:\n        *piVar27 = 0x1aff;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nFUN_00044370:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar27[5] == 0) {\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6fb88);\n      inlen = *(int *)(piVar27[0x12] + 0x20);\n      ssh_00 = (Ssh_conflict)ssh->frontend;\n      pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n      ssh->frozen = 1;\n      iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh);\n      piVar27[0x50] = iVar15;\n      if (iVar15 < 0) goto LAB_0004440c;\nLAB_000434e0:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] != 0) goto LAB_00043510;\nLAB_000457e8:\n      pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);\n      goto LAB_00045800;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n        if (pktin != (Packet *)0x0) goto LAB_00043614;\n        if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }\n        piVar27[0x50] = ssh->user_response;\nLAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;\n        if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }\n        ssh->frozen = 0;\n        if (piVar27[0x50] == 0) goto LAB_000457e8;\nLAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;\n      }\n      else {\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }\n      *piVar27 = 0x1b43;\n      goto LAB_00042f18;\n    }\n    if (iVar3 == 0x1a26) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1a26;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x14) {\n        uStack_6c = 0xfffffffa;\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        iVar39 = *(int *)(in_t9 + 0x6f5ac);\n        iVar3 = pktin->savedpos;\n        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);\n        ssh->kex = (ssh_kex *)0x0;\n        iVar32 = *(int *)(random_ref + in_t9);\n        ssh->hostkey = (ssh_signkey *)0x0;\n        uStack_74 = 0;\n        piVar27[0x12] = 0;\n        piVar27[0x13] = 0;\n        piVar27[0x14] = 0;\n        piVar27[0x15] = 0;\n        piVar27[0x18] = 0;\n        piVar27[0x19] = 0;\n        piVar27[4] = 0;\n        piVar27[3] = 0;\n        piVar27[6] = 0;\n        piVar27[5] = 0;\n        pktin->savedpos = iVar3 + 0x10;\n        piVar27[0x51] = 0;\n        piStack_68 = piVar27;\n        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);\n      }\n      else {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) goto LAB_00043614;\n      if (0 < inlen) {\nLAB_00045494:\n        *piVar27 = 0x1abc;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nLAB_00043bcc:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar27[4] == 0) goto LAB_000443a0;\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      ssh->frozen = 1;\n      if (ssh->n_uncert_hostkeys < 1) {\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\nLAB_00045b94:\n        ssh_00 = psVar31;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);\n        piVar27[0x50] = iVar3;\n      }\n      else {\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }\n      if (-1 < iVar3) goto FUN_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar14 = ssh->remote_bugs;\n      piVar27[0x13] = 0;\n      piVar27[0x12] = 0;\n      piVar27[0x15] = 0;\n      piVar27[0x14] = 0;\n      piVar27[0x19] = 0;\n      piVar27[0x18] = 0;\n      piVar27[0x4e] = 0;\n      piVar27[0x4d] = 0;\n      piVar27[0x4b] = 0;\n      piVar27[0x4c] = 0;\n      if ((uVar14 & 2) == 0) {\n        piVar27[0x11] = 4;\n        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;\n        FUN_000448a0();\n        return;\n      }\n      piVar27[0x11] = 3;\n      piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc;\n      FUN_000448a0();\n      return;\n    }\n    goto LAB_00042f14;\n  }\n  if (iVar3 == 0x1c91) {\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1c91;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x20) {\n      ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20);\n      if (piVar27[0x1b] == 0) {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);\n      }\n      else {\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }\n    }\n    else {\n      (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);\n    }\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0x1c92) {\n    if (iVar3 == 0x1bec) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1bec;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x1f) {\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n        if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }\n      }\n      else {\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1c2a) {\n      if (pktin != (Packet *)0x0) {\n        if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }\n        goto LAB_0004361c;\n      }\nLAB_000451dc:\n      *piVar27 = 0x1c2a;\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1b96) goto LAB_00042f14;\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b96;\n      goto LAB_00042f18;\n    }\n    if (pktin->type != piVar27[0xf]) {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8);\n      goto LAB_0004361c;\n    }\n    (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n    ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n    if ((char *)piVar27[0x1a] == (char *)0x0) {\nLAB_000459b4:\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08);\n      goto LAB_0004361c;\n    }\n    pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n    piVar27[0x22] = (int)pvVar13;\n    pvVar9 = ssh2_pkt_getmp(pktin);\n    piVar27[10] = (int)pvVar9;\n    if ((pvVar9 == (Bignum)0x0) ||\n       (ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0))\n    goto LAB_000459b4;\n    pcVar24 = dh_validate_f(ssh->kex_ctx,(Bignum)piVar27[10]);\n    if (pcVar24 == (char *)0x0) {\n      pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10]);\n      pvVar13 = ssh->frontend;\n      pcVar37 = *(code **)(in_t9 + 0x6fb80);\n      piVar27[0xb] = (int)pvVar9;\n      (*pcVar37)(pvVar13,0);\n      hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 );\n      iVar15 = dh_is_gex(ssh->kex);\n      if (iVar15 == 0) {\n        psVar19 = ssh->kex;\n      }\n      else {\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }\n      hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9]);\n      hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10]);\n      dh_cleanup(ssh->kex_ctx);\n                    /* WARNING: Subroutine does not return */\n      freebn((Bignum_conflict)piVar27[10]);\n    }\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24);\n    goto LAB_00043628;\n  }\n  if (iVar3 != 0x1d8a) {\n    if (iVar3 == 0x1e09) {\n      if (pktin == (Packet *)0x0) {\n        if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }\n      }\n      else if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }\n      if (ssh->protocol_initial_phase_done == 0) {\n        ssh->protocol_initial_phase_done = 1;\n        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n        *piVar27 = 0x1e09;\n        ssh_00 = ssh;\n      }\n      else {\n        *piVar27 = 0x1e09;\n      }\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1cf9) goto LAB_00042f14;\n    ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n    if (pktin == (Packet *)0x0) {\n      if (inlen < 1) {\n        piVar27[0x50] = ssh->user_response;\n        goto LAB_00043094;\n      }\n      goto LAB_000457e0;\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = &ssh_00[0xe].agentfwd_enabled;\n    goto LAB_0004361c;\n  }\n  if (pktin == (Packet *)0x0) goto LAB_000434a4;\n  if (pktin->type != 0x15) {\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6160);\n    goto LAB_0004361c;\n  }\n  ssh->incoming_data_size = 0;\n  if (ssh->sc_cipher_ctx != (void *)0x0) {\n    (*ssh->sccipher->free_context)(ssh->sc_cipher_ctx);\n  }\n  psVar4 = (ssh2_cipher *)piVar27[0x13];\n  if (psVar4 != (ssh2_cipher *)0x0) {\n    p_Var34 = psVar4->make_context;\n    ssh->sccipher = psVar4;\n    pvVar13 = (*p_Var34)();\n    ssh->sc_cipher_ctx = pvVar13;\n  }\n  if (ssh->sc_mac_ctx != (void *)0x0) {\n    (*ssh->scmac->free_context)(ssh->sc_mac_ctx);\n  }\n  psVar5 = (ssh_mac *)piVar27[0x15];\n  if (psVar5 != (ssh_mac *)0x0) {\n    iVar15 = piVar27[0x17];\n    p_Var35 = psVar5->make_context;\n    ssh->scmac = psVar5;\n    ssh->scmac_etm = iVar15;\n    pvVar13 = (*p_Var35)(ssh->sc_cipher_ctx);\n    ssh->sc_mac_ctx = pvVar13;\n  }\n  if (ssh->sc_comp_ctx != (void *)0x0) {\n    (*ssh->sccomp->decompress_cleanup)(ssh->sc_comp_ctx);\n  }\n  psVar6 = (ssh_compress *)piVar27[0x19];\n  ssh->sccomp = psVar6;\n  pvVar13 = (*psVar6->decompress_init)();\n  ssh->sc_comp_ctx = pvVar13;\n  if (ssh->sccipher != (ssh2_cipher *)0x0) {\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',\n                         ssh->sccipher->padded_keybytes);\n    (*ssh->sccipher->setkey)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->padded_keybytes);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',\n                         ssh->sccipher->blksize);\n    (*ssh->sccipher->setiv)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->blksize);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n  }\n  if (ssh->scmac == (ssh_mac *)0x0) {\n    psVar4 = ssh->sccipher;\n    if (psVar4 == (ssh2_cipher *)0x0) {\n      psVar6 = ssh->sccomp;\n      goto LAB_0004483c;\n    }\nLAB_000447c0:\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name);\n  }\n  else {\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen);\n    (*ssh->scmac->setkey)(ssh->sc_mac_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->scmac->keylen);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    psVar4 = ssh->sccipher;\n    if (psVar4 != (ssh2_cipher *)0x0) goto LAB_000447c0;\n  }\n  if (ssh->scmac != (ssh_mac *)0x0) {\n    if (ssh->scmac_etm == 0) {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n    }\n    if (ssh->sccipher->required_mac == (ssh_mac *)0x0) {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,iVar15,iVar22);\n  }\n  psVar6 = ssh->sccomp;\nLAB_0004483c:\n  if (psVar6->text_name != (char *)0x0) {\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec));\n  }\n                    /* WARNING: Subroutine does not return */\n  freebn((Bignum_conflict)piVar27[0xb]);\ncode_r0x00043b68:\n  if ((uStack_6c < 2) &&\n     (iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0)) {\n    piVar27[0x4c] = 1;\n  }\n  iVar33 = iVar33 + 1;\n  piVar20 = piVar20 + 3;\n  if (iVar33 == 0x10) {\nLAB_00043b7c:\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24);\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\nLAB_000456a8:\n  if (iVar15 != 0) {\n    if (iVar3 < 2) {\n      iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;\n    }\n    else {\n      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22);\n    (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n  }\n  iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n  pvVar13 = ssh->frontend;\n  piVar27[0x1e] = iVar15;\n  (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n            (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x5f90);\n  (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e]);\n  iVar15 = verify_ssh_manual_host_key(ssh,(char *)piVar27[0x1e],ssh->hostkey,(void *)piVar27[0x22]);\n  piVar27[0x50] = iVar15;\n  if (iVar15 != 0) {\n    pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n    if (-1 < iVar15) {\nLAB_000430c8:\n      (*pcVar37)(piVar27[0x1e]);\n      ssh->hostkey_str = (char *)piVar27[0x1d];\nLAB_000430d8:\n      psVar17 = ssh->hostkey;\nLAB_000430dc:\n      (*psVar17->freekey)((void *)piVar27[0x22]);\n      if (piVar27[0x4d] == 0) {\n        piVar20 = piVar27 + 0x25;\n        puVar25 = ssh->v2_session_id;\n        do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);\n        uVar14 = ssh->kex->hash->hlen;\n        ssh->v2_session_id_len = uVar14;\n        if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        piVar27[0x4d] = 1;\n      }\n      pPVar26 = ssh2_pkt_init(0x15);\n      piVar27[0x4f] = (int)pPVar26;\n      ssh2_pkt_send_noqueue(ssh,pPVar26);\n      ssh->outgoing_data_size = 0;\n      if (ssh->cs_cipher_ctx != (void *)0x0) {\n        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);\n      }\n      psVar4 = (ssh2_cipher *)piVar27[0x12];\n      ssh->cscipher = psVar4;\n      if (psVar4 != (ssh2_cipher *)0x0) {\n        pvVar13 = (*psVar4->make_context)();\n        ssh->cs_cipher_ctx = pvVar13;\n      }\n      if (ssh->cs_mac_ctx != (void *)0x0) {\n        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);\n      }\n      psVar5 = (ssh_mac *)piVar27[0x14];\n      iVar15 = piVar27[0x16];\n      ssh->csmac = psVar5;\n      ssh->csmac_etm = iVar15;\n      if (psVar5 != (ssh_mac *)0x0) {\n        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);\n        ssh->cs_mac_ctx = pvVar13;\n      }\n      if (ssh->cs_comp_ctx != (void *)0x0) {\n        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);\n      }\n      psVar6 = (ssh_compress *)piVar27[0x18];\n      ssh->cscomp = psVar6;\n      pvVar13 = (*psVar6->compress_init)();\n      ssh->cs_comp_ctx = pvVar13;\n      if (ssh->cscipher != (ssh2_cipher *)0x0) {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);\n        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);\n        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n      }\n      if (ssh->csmac == (ssh_mac *)0x0) {\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;\n        psVar6 = ssh->cscomp;\n      }\n      else {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }\n      if (psVar6->text_name != (char *)0x0) {\n        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));\n      }\n      ssh->queueing = 0;\n      if (0 < ssh->queuelen) {\n        iStack_80 = 0;\n        do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);\n      }\n      ssh->queuelen = 0;\n      ssh_pkt_defersend(ssh);\n      ssh_00 = ssh;\nLAB_000434a4:\n      *piVar27 = 0x1d8a;\n      goto LAB_00042f18;\n    }\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6fc14);\n    pcVar24 = ssh->hostkey->keytype;\n    iVar15 = *(int *)(in_t9 + 0x6fb0c);\n    iVar22 = piVar27[0x1e];\n    ssh_00 = (Ssh_conflict)ssh->frontend;\n    ssh->frozen = 1;\n    iVar15 = (*pcVar37)(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,\n                        iVar15 + -0xf58,ssh);\n    piVar27[0x50] = iVar15;\n    if (iVar15 < 0) {\nLAB_000457e0:\n      *piVar27 = 0x1cf9;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,0);\n    }\n    ssh->frozen = 0;\n    if (piVar27[0x50] != 0) {\n      pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n      goto LAB_000430c8;\n    }\n    pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6028);\nLAB_00045800:\n    ssh_disconnect(ssh,pcVar24,(char *)0x0,0,1);\n    *piVar27 = 0;\n    ssh_00 = ssh;\n    goto LAB_00042f18;\n  }\n  pcVar37 = *(code **)(in_t9 + 0x6f618);\n  piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5fac);\nLAB_0004361c:\n  pcVar24 = (char *)(*pcVar37)(piVar20);\nLAB_00043628:\n  bomb_out(ssh,pcVar24);\n  ssh_00 = ssh;\nLAB_00042f14:\n  *piVar27 = 0;\nLAB_00042f18:\n  if (iVar23 == *piVar2) {\n    return;\n  }\n  pcVar37 = *(code **)(in_t9 + 0x700ec);\n  (*pcVar37)();\n  puVar25 = ssh_00->deferred_send_data;\n  iVar15 = s_write((Ssh_conflict)&ssh_00->s,ssh_00->logctx,(int)puVar25,\n                   (Ssh_conflict)ssh_00->deferred_len);\n  ssh_00->deferred_size = 0;\n  pcVar38 = *(code **)(pcVar37 + 0x6c288);\n  ssh_00->deferred_len = 0;\n  (*pcVar38)(ssh_00->deferred_send_data);\n  ssh_00->deferred_send_data = (uchar *)0x0;\n  if ((0x8000 < iVar15) && (ssh_00->throttled_all != 1)) {\n    ssh_00->throttled_all = 1;\n    ssh_00->overall_bufsize = iVar15;\n    if (ssh_00->channels != (tree234 *)0x0) {\n      ssh_throttle_all(ssh_00,1,(int)puVar25);\n    }\n  }\n  if (ssh_00->version == 2) {\n    uVar21 = ssh_00->deferred_data_size;\n    ssh_00->deferred_data_size = 0;\n    uVar14 = ssh_00->outgoing_data_size + uVar21;\n    ssh_00->outgoing_data_size = uVar14;\n    if ((((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0)) && (ssh_00->max_data_size < uVar14)) {\n      do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0);\n      return;\n    }\n  }\n  return;\n}" { (declaration "uchar uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "ssh2_cipher *psVar4;" type_identifier (pointer_declarator "*psVar4" * identifier) ;) (declaration "ssh_mac *psVar5;" type_identifier (pointer_declarator "*psVar5" * identifier) ;) (declaration "ssh_compress *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "Bignum pvVar9;" type_identifier identifier ;) (declaration "Bignum_conflict pBVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "void *pvVar13;" primitive_type (pointer_declarator "*pvVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "ssh_hash *psVar16;" type_identifier (pointer_declarator "*psVar16" * identifier) ;) (declaration "ssh_signkey *psVar17;" type_identifier (pointer_declarator "*psVar17" * identifier) ;) (declaration "Ssh_conflict ssh_00;" type_identifier identifier ;) (declaration "Socket ppsVar18;" type_identifier identifier ;) (declaration "ssh_kex *psVar19;" type_identifier (pointer_declarator "*psVar19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "uchar *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "Packet *pPVar26;" type_identifier (pointer_declarator "*pPVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "uint bitnum;" type_identifier identifier ;) (declaration "ssh_signkey *psVar29;" type_identifier (pointer_declarator "*psVar29" * identifier) ;) (declaration "undefined4 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "Ssh_conflict psVar31;" type_identifier identifier ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "_func_void_ptr *p_Var34;" type_identifier (pointer_declarator "*p_Var34" * identifier) ;) (declaration "_func_void_ptr_void_ptr *p_Var35;" type_identifier (pointer_declarator "*p_Var35" * identifier) ;) (declaration "_func_void_void_ptr_void_ptr_int *p_Var36;" type_identifier (pointer_declarator "*p_Var36" * identifier) ;) (declaration "code *pcVar37;" type_identifier (pointer_declarator "*pcVar37" * identifier) ;) (declaration "code *pcVar38;" type_identifier (pointer_declarator "*pcVar38" * identifier) ;) (declaration "int iVar39;" primitive_type identifier ;) (declaration "int *piVar40;" primitive_type (pointer_declarator "*piVar40" * identifier) ;) (declaration "int iStack_80;" primitive_type identifier ;) (declaration "uint uStack_74;" type_identifier identifier ;) (declaration "uint uStack_6c;" type_identifier identifier ;) (declaration "int *piStack_68;" primitive_type (pointer_declarator "*piStack_68" * identifier) ;) (declaration "char *str;" primitive_type (pointer_declarator "*str" * identifier) ;) (declaration "int len;" primitive_type identifier ;) (declaration "char *kexlist_descr [8];" primitive_type (pointer_declarator "*kexlist_descr [8]" * (array_declarator "kexlist_descr [8]" identifier [ number_literal ])) ;) (declaration "uchar x [4];" type_identifier (array_declarator "x [4]" identifier [ number_literal ]) ;) (expression_statement "piVar2 = *(int **)(in_t9 + 0x70118);" (assignment_expression "piVar2 = *(int **)(in_t9 + 0x70118)" identifier = (pointer_expression "*(int **)(in_t9 + 0x70118)" * (cast_expression "(int **)(in_t9 + 0x70118)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x70118)" ( (binary_expression "in_t9 + 0x70118" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(in_t9 + 0x6f5bc);" (assignment_expression "iVar15 = *(int *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (expression_statement "kexlist_descr[2] = (char *)(iVar15 + 0x58b0);" (assignment_expression "kexlist_descr[2] = (char *)(iVar15 + 0x58b0)" (subscript_expression "kexlist_descr[2]" identifier [ number_literal ]) = (cast_expression "(char *)(iVar15 + 0x58b0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x58b0)" ( (binary_expression "iVar15 + 0x58b0" identifier + number_literal) )))) ;) (expression_statement "iVar22 = *(int *)(in_t9 + 0x6f5bc);" (assignment_expression "iVar22 = *(int *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (expression_statement "kexlist_descr[3] = (char *)(iVar22 + 0x58c8);" (assignment_expression "kexlist_descr[3] = (char *)(iVar22 + 0x58c8)" (subscript_expression "kexlist_descr[3]" identifier [ number_literal ]) = (cast_expression "(char *)(iVar22 + 0x58c8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x58c8)" ( (binary_expression "iVar22 + 0x58c8" identifier + number_literal) )))) ;) (expression_statement "iVar23 = *piVar2;" (assignment_expression "iVar23 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "piVar27 = (int *)ssh->do_ssh2_transport_state;" (assignment_expression "piVar27 = (int *)ssh->do_ssh2_transport_state" identifier = (cast_expression "(int *)ssh->do_ssh2_transport_state" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "ssh->do_ssh2_transport_state" identifier -> field_identifier))) ;) (expression_statement "kexlist_descr[0] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5884);" (assignment_expression "kexlist_descr[0] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5884)" (subscript_expression "kexlist_descr[0]" identifier [ number_literal ]) = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5884)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5884)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5884" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "kexlist_descr[1] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x589c);" (assignment_expression "kexlist_descr[1] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x589c)" (subscript_expression "kexlist_descr[1]" identifier [ number_literal ]) = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x589c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x589c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x589c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "kexlist_descr[4] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58e0);" (assignment_expression "kexlist_descr[4] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58e0)" (subscript_expression "kexlist_descr[4]" identifier [ number_literal ]) = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x58e0)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x58e0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "kexlist_descr[5] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58f8);" (assignment_expression "kexlist_descr[5] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58f8)" (subscript_expression "kexlist_descr[5]" identifier [ number_literal ]) = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x58f8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x58f8)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x58f8" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "kexlist_descr[6] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5910);" (assignment_expression "kexlist_descr[6] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5910)" (subscript_expression "kexlist_descr[6]" identifier [ number_literal ]) = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5910)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5910)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5910" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "kexlist_descr[7] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5934);" (assignment_expression "kexlist_descr[7] = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5934)" (subscript_expression "kexlist_descr[7]" identifier [ number_literal ]) = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5934)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5934)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5934" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh_00 = (Ssh_conflict)kexlist_descr[2];" (assignment_expression "ssh_00 = (Ssh_conflict)kexlist_descr[2]" identifier = (cast_expression "(Ssh_conflict)kexlist_descr[2]" ( (type_descriptor "Ssh_conflict" type_identifier) ) (subscript_expression "kexlist_descr[2]" identifier [ number_literal ]))) ;) (expression_statement "pPVar26 = pktin;" (assignment_expression "pPVar26 = pktin" identifier = identifier) ;) (if_statement "if (piVar27 == (int *)0x0) {\n    ssh_00 = (Ssh_conflict)&DAT_00000001;\n    piVar27 = (int *)(**(code **)(in_t9 + 0x6f61c))(1,0x74c);\n    ssh->do_ssh2_transport_state = piVar27;\n    *piVar27 = 0;\n  }" if (parenthesized_expression "(piVar27 == (int *)0x0)" ( (binary_expression "piVar27 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ssh_00 = (Ssh_conflict)&DAT_00000001;\n    piVar27 = (int *)(**(code **)(in_t9 + 0x6f61c))(1,0x74c);\n    ssh->do_ssh2_transport_state = piVar27;\n    *piVar27 = 0;\n  }" { (expression_statement "ssh_00 = (Ssh_conflict)&DAT_00000001;" (assignment_expression "ssh_00 = (Ssh_conflict)&DAT_00000001" identifier = (binary_expression "(Ssh_conflict)&DAT_00000001" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & identifier)) ;) (expression_statement "piVar27 = (int *)(**(code **)(in_t9 + 0x6f61c))(1,0x74c);" (assignment_expression "piVar27 = (int *)(**(code **)(in_t9 + 0x6f61c))(1,0x74c)" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x6f61c))(1,0x74c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x6f61c))(1,0x74c)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f61c))" ( (pointer_expression "**(code **)(in_t9 + 0x6f61c)" * (pointer_expression "*(code **)(in_t9 + 0x6f61c)" * (cast_expression "(code **)(in_t9 + 0x6f61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f61c)" ( (binary_expression "in_t9 + 0x6f61c" identifier + number_literal) ))))) )) (argument_list "(1,0x74c)" ( number_literal , number_literal ))))) ;) (expression_statement "ssh->do_ssh2_transport_state = piVar27;" (assignment_expression "ssh->do_ssh2_transport_state = piVar27" (field_expression "ssh->do_ssh2_transport_state" identifier -> field_identifier) = identifier) ;) (expression_statement "*piVar27 = 0;" (assignment_expression "*piVar27 = 0" (pointer_expression "*piVar27" * identifier) = number_literal) ;) })) (if_statement "if (ssh->bare_connection != 0) {\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x5958,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18f9,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }" if (parenthesized_expression "(ssh->bare_connection != 0)" ( (binary_expression "ssh->bare_connection != 0" (field_expression "ssh->bare_connection" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x5958,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18f9,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }" { (expression_statement "(**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x5958,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18f9,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);" (call_expression "(**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x5958,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18f9,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" (parenthesized_expression "(**(code **)(in_t9 + 0x6ff40))" ( (pointer_expression "**(code **)(in_t9 + 0x6ff40)" * (pointer_expression "*(code **)(in_t9 + 0x6ff40)" * (cast_expression "(code **)(in_t9 + 0x6ff40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6ff40)" ( (binary_expression "in_t9 + 0x6ff40" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x6f5bc) + 0x5958,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18f9,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5958" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x35c0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x7e6c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (ssh->version != 2) {\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x4af0,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18fa,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }" if (parenthesized_expression "(ssh->version != 2)" ( (binary_expression "ssh->version != 2" (field_expression "ssh->version" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    (**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x4af0,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18fa,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n    return;\n  }" { (expression_statement "(**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x4af0,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18fa,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);" (call_expression "(**(code **)(in_t9 + 0x6ff40))\n              (*(int *)(in_t9 + 0x6f5bc) + 0x4af0,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18fa,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" (parenthesized_expression "(**(code **)(in_t9 + 0x6ff40))" ( (pointer_expression "**(code **)(in_t9 + 0x6ff40)" * (pointer_expression "*(code **)(in_t9 + 0x6ff40)" * (cast_expression "(code **)(in_t9 + 0x6ff40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6ff40)" ( (binary_expression "in_t9 + 0x6ff40" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x6f5bc) + 0x4af0,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x18fa,\n               *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x4af0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x35c0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x7e6c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = *piVar27;" (assignment_expression "iVar3 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (if_statement "if (iVar3 == 0x1b73) {\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b73;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x1f) {\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[7] = (int)pvVar9;\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[8] = (int)pvVar9;\n      if (((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)) {\n        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);\n        ssh->kex_ctx = pvVar13;\n        piVar27[0xe] = 0x20;\n        piVar27[0xf] = 0x21;\n        goto LAB_00043d90;\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44);\n    }\n    else {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);\n    }\n    goto LAB_0004361c;\n  }" if (parenthesized_expression "(iVar3 == 0x1b73)" ( (binary_expression "iVar3 == 0x1b73" identifier == number_literal) )) (compound_statement "{\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b73;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x1f) {\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[7] = (int)pvVar9;\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[8] = (int)pvVar9;\n      if (((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)) {\n        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);\n        ssh->kex_ctx = pvVar13;\n        piVar27[0xe] = 0x20;\n        piVar27[0xf] = 0x21;\n        goto LAB_00043d90;\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44);\n    }\n    else {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);\n    }\n    goto LAB_0004361c;\n  }" { (if_statement "if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b73;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(pktin == (Packet *)0x0)" ( (binary_expression "pktin == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar27 = 0x1b73;\n      goto LAB_00042f18;\n    }" { (expression_statement "*piVar27 = 0x1b73;" (assignment_expression "*piVar27 = 0x1b73" (pointer_expression "*piVar27" * identifier) = number_literal) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (pktin->type == 0x1f) {\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[7] = (int)pvVar9;\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[8] = (int)pvVar9;\n      if (((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)) {\n        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);\n        ssh->kex_ctx = pvVar13;\n        piVar27[0xe] = 0x20;\n        piVar27[0xf] = 0x21;\n        goto LAB_00043d90;\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44);\n    }\n    else {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);\n    }" if (parenthesized_expression "(pktin->type == 0x1f)" ( (binary_expression "pktin->type == 0x1f" (field_expression "pktin->type" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[7] = (int)pvVar9;\n      pvVar9 = ssh2_pkt_getmp(pktin);\n      piVar27[8] = (int)pvVar9;\n      if (((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)) {\n        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);\n        ssh->kex_ctx = pvVar13;\n        piVar27[0xe] = 0x20;\n        piVar27[0xf] = 0x21;\n        goto LAB_00043d90;\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44);\n    }" { (expression_statement "pvVar9 = ssh2_pkt_getmp(pktin);" (assignment_expression "pvVar9 = ssh2_pkt_getmp(pktin)" identifier = (call_expression "ssh2_pkt_getmp(pktin)" identifier (argument_list "(pktin)" ( identifier )))) ;) (expression_statement "piVar27[7] = (int)pvVar9;" (assignment_expression "piVar27[7] = (int)pvVar9" (subscript_expression "piVar27[7]" identifier [ number_literal ]) = (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pvVar9 = ssh2_pkt_getmp(pktin);" (assignment_expression "pvVar9 = ssh2_pkt_getmp(pktin)" identifier = (call_expression "ssh2_pkt_getmp(pktin)" identifier (argument_list "(pktin)" ( identifier )))) ;) (expression_statement "piVar27[8] = (int)pvVar9;" (assignment_expression "piVar27[8] = (int)pvVar9" (subscript_expression "piVar27[8]" identifier [ number_literal ]) = (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)) {\n        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);\n        ssh->kex_ctx = pvVar13;\n        piVar27[0xe] = 0x20;\n        piVar27[0xf] = 0x21;\n        goto LAB_00043d90;\n      }" if (parenthesized_expression "(((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0))" ( (binary_expression "((Bignum)piVar27[7] != (Bignum)0x0) && (pvVar9 != (Bignum)0x0)" (parenthesized_expression "((Bignum)piVar27[7] != (Bignum)0x0)" ( (binary_expression "(Bignum)piVar27[7] != (Bignum)0x0" (cast_expression "(Bignum)piVar27[7]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[7]" identifier [ number_literal ])) != (cast_expression "(Bignum)0x0" ( (type_descriptor "Bignum" type_identifier) ) number_literal)) )) && (parenthesized_expression "(pvVar9 != (Bignum)0x0)" ( (binary_expression "pvVar9 != (Bignum)0x0" identifier != (cast_expression "(Bignum)0x0" ( (type_descriptor "Bignum" type_identifier) ) number_literal)) ))) )) (compound_statement "{\n        pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);\n        ssh->kex_ctx = pvVar13;\n        piVar27[0xe] = 0x20;\n        piVar27[0xf] = 0x21;\n        goto LAB_00043d90;\n      }" { (expression_statement "pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9);" (assignment_expression "pvVar13 = dh_setup_gex((Bignum)piVar27[7],pvVar9)" identifier = (call_expression "dh_setup_gex((Bignum)piVar27[7],pvVar9)" identifier (argument_list "((Bignum)piVar27[7],pvVar9)" ( (cast_expression "(Bignum)piVar27[7]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[7]" identifier [ number_literal ])) , identifier )))) ;) (expression_statement "ssh->kex_ctx = pvVar13;" (assignment_expression "ssh->kex_ctx = pvVar13" (field_expression "ssh->kex_ctx" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar27[0xe] = 0x20;" (assignment_expression "piVar27[0xe] = 0x20" (subscript_expression "piVar27[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0xf] = 0x21;" (assignment_expression "piVar27[0xf] = 0x21" (subscript_expression "piVar27[0xf]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00043d90;" goto statement_identifier ;) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5b44)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5b44" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);\n    }" else (compound_statement "{\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);\n    }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5b14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5b14)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5b14" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (iVar3 < 0x1b74) {\n    if (iVar3 == 0x1aff) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) {\nLAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = &ssh_00[0xd].banner.buffersize;\n        goto LAB_0004361c;\n      }\n      if (0 < inlen) {\nLAB_00043d00:\n        *piVar27 = 0x1aff;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nFUN_00044370:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar27[5] == 0) {\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6fb88);\n      inlen = *(int *)(piVar27[0x12] + 0x20);\n      ssh_00 = (Ssh_conflict)ssh->frontend;\n      pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n      ssh->frozen = 1;\n      iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh);\n      piVar27[0x50] = iVar15;\n      if (iVar15 < 0) goto LAB_0004440c;\nLAB_000434e0:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] != 0) goto LAB_00043510;\nLAB_000457e8:\n      pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);\n      goto LAB_00045800;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n        if (pktin != (Packet *)0x0) goto LAB_00043614;\n        if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }\n        piVar27[0x50] = ssh->user_response;\nLAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;\n        if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }\n        ssh->frozen = 0;\n        if (piVar27[0x50] == 0) goto LAB_000457e8;\nLAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;\n      }\n      else {\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }\n      *piVar27 = 0x1b43;\n      goto LAB_00042f18;\n    }\n    if (iVar3 == 0x1a26) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1a26;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x14) {\n        uStack_6c = 0xfffffffa;\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        iVar39 = *(int *)(in_t9 + 0x6f5ac);\n        iVar3 = pktin->savedpos;\n        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);\n        ssh->kex = (ssh_kex *)0x0;\n        iVar32 = *(int *)(random_ref + in_t9);\n        ssh->hostkey = (ssh_signkey *)0x0;\n        uStack_74 = 0;\n        piVar27[0x12] = 0;\n        piVar27[0x13] = 0;\n        piVar27[0x14] = 0;\n        piVar27[0x15] = 0;\n        piVar27[0x18] = 0;\n        piVar27[0x19] = 0;\n        piVar27[4] = 0;\n        piVar27[3] = 0;\n        piVar27[6] = 0;\n        piVar27[5] = 0;\n        pktin->savedpos = iVar3 + 0x10;\n        piVar27[0x51] = 0;\n        piStack_68 = piVar27;\n        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);\n      }\n      else {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) goto LAB_00043614;\n      if (0 < inlen) {\nLAB_00045494:\n        *piVar27 = 0x1abc;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nLAB_00043bcc:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar27[4] == 0) goto LAB_000443a0;\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      ssh->frozen = 1;\n      if (ssh->n_uncert_hostkeys < 1) {\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\nLAB_00045b94:\n        ssh_00 = psVar31;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);\n        piVar27[0x50] = iVar3;\n      }\n      else {\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }\n      if (-1 < iVar3) goto FUN_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar14 = ssh->remote_bugs;\n      piVar27[0x13] = 0;\n      piVar27[0x12] = 0;\n      piVar27[0x15] = 0;\n      piVar27[0x14] = 0;\n      piVar27[0x19] = 0;\n      piVar27[0x18] = 0;\n      piVar27[0x4e] = 0;\n      piVar27[0x4d] = 0;\n      piVar27[0x4b] = 0;\n      piVar27[0x4c] = 0;\n      if ((uVar14 & 2) == 0) {\n        piVar27[0x11] = 4;\n        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;\n        FUN_000448a0();\n        return;\n      }\n      piVar27[0x11] = 3;\n      piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc;\n      FUN_000448a0();\n      return;\n    }\n    goto LAB_00042f14;\n  }" if (parenthesized_expression "(iVar3 < 0x1b74)" ( (binary_expression "iVar3 < 0x1b74" identifier < number_literal) )) (compound_statement "{\n    if (iVar3 == 0x1aff) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) {\nLAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = &ssh_00[0xd].banner.buffersize;\n        goto LAB_0004361c;\n      }\n      if (0 < inlen) {\nLAB_00043d00:\n        *piVar27 = 0x1aff;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nFUN_00044370:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar27[5] == 0) {\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6fb88);\n      inlen = *(int *)(piVar27[0x12] + 0x20);\n      ssh_00 = (Ssh_conflict)ssh->frontend;\n      pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n      ssh->frozen = 1;\n      iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh);\n      piVar27[0x50] = iVar15;\n      if (iVar15 < 0) goto LAB_0004440c;\nLAB_000434e0:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] != 0) goto LAB_00043510;\nLAB_000457e8:\n      pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);\n      goto LAB_00045800;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n        if (pktin != (Packet *)0x0) goto LAB_00043614;\n        if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }\n        piVar27[0x50] = ssh->user_response;\nLAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;\n        if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }\n        ssh->frozen = 0;\n        if (piVar27[0x50] == 0) goto LAB_000457e8;\nLAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;\n      }\n      else {\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }\n      *piVar27 = 0x1b43;\n      goto LAB_00042f18;\n    }\n    if (iVar3 == 0x1a26) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1a26;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x14) {\n        uStack_6c = 0xfffffffa;\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        iVar39 = *(int *)(in_t9 + 0x6f5ac);\n        iVar3 = pktin->savedpos;\n        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);\n        ssh->kex = (ssh_kex *)0x0;\n        iVar32 = *(int *)(random_ref + in_t9);\n        ssh->hostkey = (ssh_signkey *)0x0;\n        uStack_74 = 0;\n        piVar27[0x12] = 0;\n        piVar27[0x13] = 0;\n        piVar27[0x14] = 0;\n        piVar27[0x15] = 0;\n        piVar27[0x18] = 0;\n        piVar27[0x19] = 0;\n        piVar27[4] = 0;\n        piVar27[3] = 0;\n        piVar27[6] = 0;\n        piVar27[5] = 0;\n        pktin->savedpos = iVar3 + 0x10;\n        piVar27[0x51] = 0;\n        piStack_68 = piVar27;\n        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);\n      }\n      else {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) goto LAB_00043614;\n      if (0 < inlen) {\nLAB_00045494:\n        *piVar27 = 0x1abc;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nLAB_00043bcc:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar27[4] == 0) goto LAB_000443a0;\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      ssh->frozen = 1;\n      if (ssh->n_uncert_hostkeys < 1) {\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\nLAB_00045b94:\n        ssh_00 = psVar31;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);\n        piVar27[0x50] = iVar3;\n      }\n      else {\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }\n      if (-1 < iVar3) goto FUN_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar14 = ssh->remote_bugs;\n      piVar27[0x13] = 0;\n      piVar27[0x12] = 0;\n      piVar27[0x15] = 0;\n      piVar27[0x14] = 0;\n      piVar27[0x19] = 0;\n      piVar27[0x18] = 0;\n      piVar27[0x4e] = 0;\n      piVar27[0x4d] = 0;\n      piVar27[0x4b] = 0;\n      piVar27[0x4c] = 0;\n      if ((uVar14 & 2) == 0) {\n        piVar27[0x11] = 4;\n        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;\n        FUN_000448a0();\n        return;\n      }\n      piVar27[0x11] = 3;\n      piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc;\n      FUN_000448a0();\n      return;\n    }\n    goto LAB_00042f14;\n  }" { (if_statement "if (iVar3 == 0x1aff) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) {\nLAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = &ssh_00[0xd].banner.buffersize;\n        goto LAB_0004361c;\n      }\n      if (0 < inlen) {\nLAB_00043d00:\n        *piVar27 = 0x1aff;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nFUN_00044370:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar27[5] == 0) {\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6fb88);\n      inlen = *(int *)(piVar27[0x12] + 0x20);\n      ssh_00 = (Ssh_conflict)ssh->frontend;\n      pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n      ssh->frozen = 1;\n      iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh);\n      piVar27[0x50] = iVar15;\n      if (iVar15 < 0) goto LAB_0004440c;\nLAB_000434e0:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] != 0) goto LAB_00043510;\nLAB_000457e8:\n      pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);\n      goto LAB_00045800;\n    }" if (parenthesized_expression "(iVar3 == 0x1aff)" ( (binary_expression "iVar3 == 0x1aff" identifier == number_literal) )) (compound_statement "{\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) {\nLAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = &ssh_00[0xd].banner.buffersize;\n        goto LAB_0004361c;\n      }\n      if (0 < inlen) {\nLAB_00043d00:\n        *piVar27 = 0x1aff;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nFUN_00044370:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar27[5] == 0) {\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      pcVar37 = *(code **)(in_t9 + 0x6fb88);\n      inlen = *(int *)(piVar27[0x12] + 0x20);\n      ssh_00 = (Ssh_conflict)ssh->frontend;\n      pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n      ssh->frozen = 1;\n      iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh);\n      piVar27[0x50] = iVar15;\n      if (iVar15 < 0) goto LAB_0004440c;\nLAB_000434e0:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] != 0) goto LAB_00043510;\nLAB_000457e8:\n      pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);\n      goto LAB_00045800;\n    }" { (expression_statement "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);" (assignment_expression "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(Ssh_conflict *)(in_t9 + 0x6f5bc)" * (cast_expression "(Ssh_conflict *)(in_t9 + 0x6f5bc)" ( (type_descriptor "Ssh_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (if_statement "if (pktin != (Packet *)0x0) {\nLAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = &ssh_00[0xd].banner.buffersize;\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(pktin != (Packet *)0x0)" ( (binary_expression "pktin != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = &ssh_00[0xd].banner.buffersize;\n        goto LAB_0004361c;\n      }" { (labeled_statement "LAB_00043614:\n        pcVar37 = *(code **)(in_t9 + 0x6f618);" statement_identifier : (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;)) (expression_statement "piVar20 = &ssh_00[0xd].banner.buffersize;" (assignment_expression "piVar20 = &ssh_00[0xd].banner.buffersize" identifier = (pointer_expression "&ssh_00[0xd].banner.buffersize" & (field_expression "ssh_00[0xd].banner.buffersize" (field_expression "ssh_00[0xd].banner" (subscript_expression "ssh_00[0xd]" identifier [ number_literal ]) . field_identifier) . field_identifier))) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (0 < inlen) {\nLAB_00043d00:\n        *piVar27 = 0x1aff;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(0 < inlen)" ( (binary_expression "0 < inlen" number_literal < identifier) )) (compound_statement "{\nLAB_00043d00:\n        *piVar27 = 0x1aff;\n        goto LAB_00042f18;\n      }" { (labeled_statement "LAB_00043d00:\n        *piVar27 = 0x1aff;" statement_identifier : (expression_statement "*piVar27 = 0x1aff;" (assignment_expression "*piVar27 = 0x1aff" (pointer_expression "*piVar27" * identifier) = number_literal) ;)) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "piVar27[0x50] = ssh->user_response;" (assignment_expression "piVar27[0x50] = ssh->user_response" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = (field_expression "ssh->user_response" identifier -> field_identifier)) ;) (labeled_statement "FUN_00044370:\n      ssh_00 = (Ssh_conflict)ssh->s;" statement_identifier : (expression_statement "ssh_00 = (Ssh_conflict)ssh->s;" (assignment_expression "ssh_00 = (Ssh_conflict)ssh->s" identifier = (cast_expression "(Ssh_conflict)ssh->s" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->s" identifier -> field_identifier))) ;)) (if_statement "if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }" if (parenthesized_expression "(ssh_00 != (Ssh_conflict)0x0)" ( (binary_expression "ssh_00 != (Ssh_conflict)0x0" identifier != (cast_expression "(Ssh_conflict)0x0" ( (type_descriptor "Ssh_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }" { (expression_statement "(*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);" (call_expression "(*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26)" (parenthesized_expression "(*ssh_00->fn[1].closing)" ( (pointer_expression "*ssh_00->fn[1].closing" * (field_expression "ssh_00->fn[1].closing" (subscript_expression "ssh_00->fn[1]" (field_expression "ssh_00->fn" identifier -> field_identifier) [ number_literal ]) . field_identifier)) )) (argument_list "((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26)" ( (cast_expression "(Plug)ssh_00" ( (type_descriptor "Plug" type_identifier) ) identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "ssh->frozen = 0;" (assignment_expression "ssh->frozen = 0" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (if_statement "if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);\n        goto LAB_00045800;\n      }" if (parenthesized_expression "(piVar27[0x50] == 0)" ( (binary_expression "piVar27[0x50] == 0" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);\n        goto LAB_00045800;\n      }" { (expression_statement "pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac);" (assignment_expression "pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac)" identifier = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5aac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5aac)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5aac" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00045800;" goto statement_identifier ;) })) (labeled_statement "LAB_000443a0:\n      if (piVar27[5] == 0) {\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }" statement_identifier : (if_statement "if (piVar27[5] == 0) {\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }" if (parenthesized_expression "(piVar27[5] == 0)" ( (binary_expression "piVar27[5] == 0" (subscript_expression "piVar27[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }\n        goto LAB_000435a8;\n      }" { (labeled_statement "LAB_00043510:\n        if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }" statement_identifier : (if_statement "if (piVar27[6] != 0) {\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }" if (parenthesized_expression "(piVar27[6] != 0)" ( (binary_expression "piVar27[6] != 0" (subscript_expression "piVar27[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          ppsVar18 = ssh->s;\n          if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6fb88);\n          inlen = *(int *)(piVar27[0x13] + 0x20);\n          ssh_00 = (Ssh_conflict)ssh->frontend;\n          pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n          ssh->frozen = 1;\n          iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);\n          piVar27[0x50] = iVar15;\n          if (iVar15 < 0) goto LAB_000454a0;\n          goto LAB_00043578;\n        }" { (expression_statement "ppsVar18 = ssh->s;" (assignment_expression "ppsVar18 = ssh->s" identifier = (field_expression "ssh->s" identifier -> field_identifier)) ;) (if_statement "if (ppsVar18 != (Socket)0x0) {\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }" if (parenthesized_expression "(ppsVar18 != (Socket)0x0)" ( (binary_expression "ppsVar18 != (Socket)0x0" identifier != (cast_expression "(Socket)0x0" ( (type_descriptor "Socket" type_identifier) ) number_literal)) )) (compound_statement "{\n            (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n          }" { (expression_statement "(*(*ppsVar18)->set_frozen)(ppsVar18,1);" (call_expression "(*(*ppsVar18)->set_frozen)(ppsVar18,1)" (parenthesized_expression "(*(*ppsVar18)->set_frozen)" ( (pointer_expression "*(*ppsVar18)->set_frozen" * (field_expression "(*ppsVar18)->set_frozen" (parenthesized_expression "(*ppsVar18)" ( (pointer_expression "*ppsVar18" * identifier) )) -> field_identifier)) )) (argument_list "(ppsVar18,1)" ( identifier , number_literal ))) ;) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6fb88);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6fb88)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6fb88)" * (cast_expression "(code **)(in_t9 + 0x6fb88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fb88)" ( (binary_expression "in_t9 + 0x6fb88" identifier + number_literal) ))))) ;) (expression_statement "inlen = *(int *)(piVar27[0x13] + 0x20);" (assignment_expression "inlen = *(int *)(piVar27[0x13] + 0x20)" identifier = (pointer_expression "*(int *)(piVar27[0x13] + 0x20)" * (cast_expression "(int *)(piVar27[0x13] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x13] + 0x20)" ( (binary_expression "piVar27[0x13] + 0x20" (subscript_expression "piVar27[0x13]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "ssh_00 = (Ssh_conflict)ssh->frontend;" (assignment_expression "ssh_00 = (Ssh_conflict)ssh->frontend" identifier = (cast_expression "(Ssh_conflict)ssh->frontend" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->frontend" identifier -> field_identifier))) ;) (expression_statement "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);" (assignment_expression "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" identifier = (cast_expression "(Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (binary_expression "*(int *)(in_t9 + 0x6fb0c) + -0xf58" (pointer_expression "*(int *)(in_t9 + 0x6fb0c)" * (cast_expression "(int *)(in_t9 + 0x6fb0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6fb0c)" ( (binary_expression "in_t9 + 0x6fb0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh->frozen = 1;" (assignment_expression "ssh->frozen = 1" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh);" (assignment_expression "iVar15 = (*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh)" identifier = (call_expression "(*pcVar37)(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(ssh_00,iVar22 + 0x58c8,inlen,pPVar26,ssh)" ( identifier , (binary_expression "iVar22 + 0x58c8" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "piVar27[0x50] = iVar15;" (assignment_expression "piVar27[0x50] = iVar15" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 < 0) goto LAB_000454a0;" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000454a0;" goto statement_identifier ;)) (goto_statement "goto LAB_00043578;" goto statement_identifier ;) }))) (goto_statement "goto LAB_000435a8;" goto statement_identifier ;) }))) (expression_statement "ppsVar18 = ssh->s;" (assignment_expression "ppsVar18 = ssh->s" identifier = (field_expression "ssh->s" identifier -> field_identifier)) ;) (if_statement "if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }" if (parenthesized_expression "(ppsVar18 != (Socket)0x0)" ( (binary_expression "ppsVar18 != (Socket)0x0" identifier != (cast_expression "(Socket)0x0" ( (type_descriptor "Socket" type_identifier) ) number_literal)) )) (compound_statement "{\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }" { (expression_statement "(*(*ppsVar18)->set_frozen)(ppsVar18,1);" (call_expression "(*(*ppsVar18)->set_frozen)(ppsVar18,1)" (parenthesized_expression "(*(*ppsVar18)->set_frozen)" ( (pointer_expression "*(*ppsVar18)->set_frozen" * (field_expression "(*ppsVar18)->set_frozen" (parenthesized_expression "(*ppsVar18)" ( (pointer_expression "*ppsVar18" * identifier) )) -> field_identifier)) )) (argument_list "(ppsVar18,1)" ( identifier , number_literal ))) ;) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6fb88);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6fb88)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6fb88)" * (cast_expression "(code **)(in_t9 + 0x6fb88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fb88)" ( (binary_expression "in_t9 + 0x6fb88" identifier + number_literal) ))))) ;) (expression_statement "inlen = *(int *)(piVar27[0x12] + 0x20);" (assignment_expression "inlen = *(int *)(piVar27[0x12] + 0x20)" identifier = (pointer_expression "*(int *)(piVar27[0x12] + 0x20)" * (cast_expression "(int *)(piVar27[0x12] + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x12] + 0x20)" ( (binary_expression "piVar27[0x12] + 0x20" (subscript_expression "piVar27[0x12]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "ssh_00 = (Ssh_conflict)ssh->frontend;" (assignment_expression "ssh_00 = (Ssh_conflict)ssh->frontend" identifier = (cast_expression "(Ssh_conflict)ssh->frontend" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->frontend" identifier -> field_identifier))) ;) (expression_statement "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);" (assignment_expression "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" identifier = (cast_expression "(Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (binary_expression "*(int *)(in_t9 + 0x6fb0c) + -0xf58" (pointer_expression "*(int *)(in_t9 + 0x6fb0c)" * (cast_expression "(int *)(in_t9 + 0x6fb0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6fb0c)" ( (binary_expression "in_t9 + 0x6fb0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh->frozen = 1;" (assignment_expression "ssh->frozen = 1" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh);" (assignment_expression "iVar15 = (*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh)" identifier = (call_expression "(*pcVar37)(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(ssh_00,iVar15 + 0x58b0,inlen,pPVar26,ssh)" ( identifier , (binary_expression "iVar15 + 0x58b0" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "piVar27[0x50] = iVar15;" (assignment_expression "piVar27[0x50] = iVar15" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 < 0) goto LAB_0004440c;" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0004440c;" goto statement_identifier ;)) (labeled_statement "LAB_000434e0:\n      ssh_00 = (Ssh_conflict)ssh->s;" statement_identifier : (expression_statement "ssh_00 = (Ssh_conflict)ssh->s;" (assignment_expression "ssh_00 = (Ssh_conflict)ssh->s" identifier = (cast_expression "(Ssh_conflict)ssh->s" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->s" identifier -> field_identifier))) ;)) (if_statement "if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }" if (parenthesized_expression "(ssh_00 != (Ssh_conflict)0x0)" ( (binary_expression "ssh_00 != (Ssh_conflict)0x0" identifier != (cast_expression "(Ssh_conflict)0x0" ( (type_descriptor "Ssh_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }" { (expression_statement "(*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);" (call_expression "(*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26)" (parenthesized_expression "(*ssh_00->fn[1].closing)" ( (pointer_expression "*ssh_00->fn[1].closing" * (field_expression "ssh_00->fn[1].closing" (subscript_expression "ssh_00->fn[1]" (field_expression "ssh_00->fn" identifier -> field_identifier) [ number_literal ]) . field_identifier)) )) (argument_list "((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26)" ( (cast_expression "(Plug)ssh_00" ( (type_descriptor "Plug" type_identifier) ) identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "ssh->frozen = 0;" (assignment_expression "ssh->frozen = 0" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (if_statement "if (piVar27[0x50] != 0) goto LAB_00043510;" if (parenthesized_expression "(piVar27[0x50] != 0)" ( (binary_expression "piVar27[0x50] != 0" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00043510;" goto statement_identifier ;)) (labeled_statement "LAB_000457e8:\n      pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);" statement_identifier : (expression_statement "pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0);" (assignment_expression "pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0)" identifier = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5ad0)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5ad0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;)) (goto_statement "goto LAB_00045800;" goto statement_identifier ;) })) (if_statement "if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n        if (pktin != (Packet *)0x0) goto LAB_00043614;\n        if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }\n        piVar27[0x50] = ssh->user_response;\nLAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;\n        if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }\n        ssh->frozen = 0;\n        if (piVar27[0x50] == 0) goto LAB_000457e8;\nLAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;\n      }\n      else {\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }\n      *piVar27 = 0x1b43;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(0x1aff < iVar3)" ( (binary_expression "0x1aff < iVar3" number_literal < identifier) )) (compound_statement "{\n      if (iVar3 == 0x1b31) {\n        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n        if (pktin != (Packet *)0x0) goto LAB_00043614;\n        if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }\n        piVar27[0x50] = ssh->user_response;\nLAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;\n        if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }\n        ssh->frozen = 0;\n        if (piVar27[0x50] == 0) goto LAB_000457e8;\nLAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;\n      }\n      else {\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }\n      *piVar27 = 0x1b43;\n      goto LAB_00042f18;\n    }" { (if_statement "if (iVar3 == 0x1b31) {\n        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n        if (pktin != (Packet *)0x0) goto LAB_00043614;\n        if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }\n        piVar27[0x50] = ssh->user_response;\nLAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;\n        if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }\n        ssh->frozen = 0;\n        if (piVar27[0x50] == 0) goto LAB_000457e8;\nLAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;\n      }\n      else {\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }" if (parenthesized_expression "(iVar3 == 0x1b31)" ( (binary_expression "iVar3 == 0x1b31" identifier == number_literal) )) (compound_statement "{\n        ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n        if (pktin != (Packet *)0x0) goto LAB_00043614;\n        if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }\n        piVar27[0x50] = ssh->user_response;\nLAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;\n        if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }\n        ssh->frozen = 0;\n        if (piVar27[0x50] == 0) goto LAB_000457e8;\nLAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;\n      }" { (expression_statement "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);" (assignment_expression "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(Ssh_conflict *)(in_t9 + 0x6f5bc)" * (cast_expression "(Ssh_conflict *)(in_t9 + 0x6f5bc)" ( (type_descriptor "Ssh_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (if_statement "if (pktin != (Packet *)0x0) goto LAB_00043614;" if (parenthesized_expression "(pktin != (Packet *)0x0)" ( (binary_expression "pktin != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043614;" goto statement_identifier ;)) (if_statement "if (0 < inlen) {\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }" if (parenthesized_expression "(0 < inlen)" ( (binary_expression "0 < inlen" number_literal < identifier) )) (compound_statement "{\nLAB_000454a0:\n          *piVar27 = 0x1b31;\n          goto LAB_00042f18;\n        }" { (labeled_statement "LAB_000454a0:\n          *piVar27 = 0x1b31;" statement_identifier : (expression_statement "*piVar27 = 0x1b31;" (assignment_expression "*piVar27 = 0x1b31" (pointer_expression "*piVar27" * identifier) = number_literal) ;)) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "piVar27[0x50] = ssh->user_response;" (assignment_expression "piVar27[0x50] = ssh->user_response" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = (field_expression "ssh->user_response" identifier -> field_identifier)) ;) (labeled_statement "LAB_00043578:\n        ssh_00 = (Ssh_conflict)ssh->s;" statement_identifier : (expression_statement "ssh_00 = (Ssh_conflict)ssh->s;" (assignment_expression "ssh_00 = (Ssh_conflict)ssh->s" identifier = (cast_expression "(Ssh_conflict)ssh->s" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->s" identifier -> field_identifier))) ;)) (if_statement "if (ssh_00 != (Ssh_conflict)0x0) {\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }" if (parenthesized_expression "(ssh_00 != (Ssh_conflict)0x0)" ( (binary_expression "ssh_00 != (Ssh_conflict)0x0" identifier != (cast_expression "(Ssh_conflict)0x0" ( (type_descriptor "Ssh_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n          (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n        }" { (expression_statement "(*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);" (call_expression "(*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26)" (parenthesized_expression "(*ssh_00->fn[1].closing)" ( (pointer_expression "*ssh_00->fn[1].closing" * (field_expression "ssh_00->fn[1].closing" (subscript_expression "ssh_00->fn[1]" (field_expression "ssh_00->fn" identifier -> field_identifier) [ number_literal ]) . field_identifier)) )) (argument_list "((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26)" ( (cast_expression "(Plug)ssh_00" ( (type_descriptor "Plug" type_identifier) ) identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "ssh->frozen = 0;" (assignment_expression "ssh->frozen = 0" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (if_statement "if (piVar27[0x50] == 0) goto LAB_000457e8;" if (parenthesized_expression "(piVar27[0x50] == 0)" ( (binary_expression "piVar27[0x50] == 0" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000457e8;" goto statement_identifier ;)) (labeled_statement "LAB_000435a8:\n        if (piVar27[0x52] == 0) goto LAB_00044234;" statement_identifier : (if_statement "if (piVar27[0x52] == 0) goto LAB_00044234;" if (parenthesized_expression "(piVar27[0x52] == 0)" ( (binary_expression "piVar27[0x52] == 0" (subscript_expression "piVar27[0x52]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00044234;" goto statement_identifier ;))) }) (else_clause "else {\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }" else (compound_statement "{\n        if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }\n        if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }\n      }" { (if_statement "if (iVar3 != 0x1b43) {\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }" if (parenthesized_expression "(iVar3 != 0x1b43)" ( (binary_expression "iVar3 != 0x1b43" identifier != number_literal) )) (compound_statement "{\n          if (iVar3 != 0x1b18) goto LAB_00042f14;\n          ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n          if (pktin != (Packet *)0x0) goto LAB_00043614;\n          if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }\nLAB_0004440c:\n          *piVar27 = 0x1b18;\n          goto LAB_00042f18;\n        }" { (if_statement "if (iVar3 != 0x1b18) goto LAB_00042f14;" if (parenthesized_expression "(iVar3 != 0x1b18)" ( (binary_expression "iVar3 != 0x1b18" identifier != number_literal) )) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;)) (expression_statement "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);" (assignment_expression "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(Ssh_conflict *)(in_t9 + 0x6f5bc)" * (cast_expression "(Ssh_conflict *)(in_t9 + 0x6f5bc)" ( (type_descriptor "Ssh_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (if_statement "if (pktin != (Packet *)0x0) goto LAB_00043614;" if (parenthesized_expression "(pktin != (Packet *)0x0)" ( (binary_expression "pktin != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043614;" goto statement_identifier ;)) (if_statement "if (inlen < 1) {\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }" if (parenthesized_expression "(inlen < 1)" ( (binary_expression "inlen < 1" identifier < number_literal) )) (compound_statement "{\n            piVar27[0x50] = ssh->user_response;\n            goto LAB_000434e0;\n          }" { (expression_statement "piVar27[0x50] = ssh->user_response;" (assignment_expression "piVar27[0x50] = ssh->user_response" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = (field_expression "ssh->user_response" identifier -> field_identifier)) ;) (goto_statement "goto LAB_000434e0;" goto statement_identifier ;) })) (labeled_statement "LAB_0004440c:\n          *piVar27 = 0x1b18;" statement_identifier : (expression_statement "*piVar27 = 0x1b18;" (assignment_expression "*piVar27 = 0x1b18" (pointer_expression "*piVar27" * identifier) = number_literal) ;)) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (pktin != (Packet *)0x0) {\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }" if (parenthesized_expression "(pktin != (Packet *)0x0)" ( (binary_expression "pktin != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00044234:\n          psVar19 = ssh->kex;\n          if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }\n          if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }\n          uVar11 = (**(code **)(in_t9 + 0x6fbd4))();\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);\n          pcVar37 = *(code **)(in_t9 + 0x6fbd8);\n          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;\n          iVar15 = (*pcVar37)(ssh->kex);\n          piVar27[0x24] = iVar15;\n          if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }\n          goto LAB_0004361c;\n        }" { (labeled_statement "LAB_00044234:\n          psVar19 = ssh->kex;" statement_identifier : (expression_statement "psVar19 = ssh->kex;" (assignment_expression "psVar19 = ssh->kex" identifier = (field_expression "ssh->kex" identifier -> field_identifier)) ;)) (if_statement "if (psVar19->main_type == ADDRTYPE_UNSPEC) {\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }" if (parenthesized_expression "(psVar19->main_type == ADDRTYPE_UNSPEC)" ( (binary_expression "psVar19->main_type == ADDRTYPE_UNSPEC" (field_expression "psVar19->main_type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n            iVar15 = 0;\n            if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }\n            iStack_80 = 0;\n            if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }\n            if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }\n            iVar15 = psVar19->hash->hlen << 3;\n            if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }\n            piVar27[1] = iStack_80;\n            iVar15 = dh_is_gex(psVar19);\n            if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }\n            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;\n            pvVar13 = dh_setup_group(ssh->kex);\n            psVar19 = ssh->kex;\n            ssh->kex_ctx = pvVar13;\n            piVar27[0xe] = 0x1e;\n            iVar15 = *(int *)(in_t9 + 0x6f5bc);\n            pcVar24 = psVar19->groupname;\n            piVar27[0xf] = 0x1f;\n            logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);\nLAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);\n            (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n            pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);\n            piVar27[9] = (int)pvVar9;\n            pPVar26 = ssh2_pkt_init(piVar27[0xe]);\n            piVar27[0x4f] = (int)pPVar26;\n            ssh2_mpint_fmt((Bignum)piVar27[9],&len);\n            x[0] = '\0';\n            x[1] = '\0';\n            x[2] = '\0';\n            x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata(pPVar26,x,4);\n          }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (if_statement "if (piVar27[0x12] != 0) {\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }" if (parenthesized_expression "(piVar27[0x12] != 0)" ( (binary_expression "piVar27[0x12] != 0" (subscript_expression "piVar27[0x12]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              iVar15 = *(int *)(piVar27[0x12] + 0x28);\n            }" { (expression_statement "iVar15 = *(int *)(piVar27[0x12] + 0x28);" (assignment_expression "iVar15 = *(int *)(piVar27[0x12] + 0x28)" identifier = (pointer_expression "*(int *)(piVar27[0x12] + 0x28)" * (cast_expression "(int *)(piVar27[0x12] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x12] + 0x28)" ( (binary_expression "piVar27[0x12] + 0x28" (subscript_expression "piVar27[0x12]" identifier [ number_literal ]) + number_literal) ))))) ;) })) (expression_statement "iStack_80 = 0;" (assignment_expression "iStack_80 = 0" identifier = number_literal) ;) (if_statement "if (piVar27[0x13] != 0) {\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }" if (parenthesized_expression "(piVar27[0x13] != 0)" ( (binary_expression "piVar27[0x13] != 0" (subscript_expression "piVar27[0x13]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              iStack_80 = *(int *)(piVar27[0x13] + 0x28);\n            }" { (expression_statement "iStack_80 = *(int *)(piVar27[0x13] + 0x28);" (assignment_expression "iStack_80 = *(int *)(piVar27[0x13] + 0x28)" identifier = (pointer_expression "*(int *)(piVar27[0x13] + 0x28)" * (cast_expression "(int *)(piVar27[0x13] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x13] + 0x28)" ( (binary_expression "piVar27[0x13] + 0x28" (subscript_expression "piVar27[0x13]" identifier [ number_literal ]) + number_literal) ))))) ;) })) (if_statement "if (iStack_80 <= iVar15) {\n              iStack_80 = iVar15;\n            }" if (parenthesized_expression "(iStack_80 <= iVar15)" ( (binary_expression "iStack_80 <= iVar15" identifier <= identifier) )) (compound_statement "{\n              iStack_80 = iVar15;\n            }" { (expression_statement "iStack_80 = iVar15;" (assignment_expression "iStack_80 = iVar15" identifier = identifier) ;) })) (expression_statement "iVar15 = psVar19->hash->hlen << 3;" (assignment_expression "iVar15 = psVar19->hash->hlen << 3" identifier = (binary_expression "psVar19->hash->hlen << 3" (field_expression "psVar19->hash->hlen" (field_expression "psVar19->hash" identifier -> field_identifier) -> field_identifier) << number_literal)) ;) (if_statement "if (iVar15 < iStack_80) {\n              iStack_80 = iVar15;\n            }" if (parenthesized_expression "(iVar15 < iStack_80)" ( (binary_expression "iVar15 < iStack_80" identifier < identifier) )) (compound_statement "{\n              iStack_80 = iVar15;\n            }" { (expression_statement "iStack_80 = iVar15;" (assignment_expression "iStack_80 = iVar15" identifier = identifier) ;) })) (expression_statement "piVar27[1] = iStack_80;" (assignment_expression "piVar27[1] = iStack_80" (subscript_expression "piVar27[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar15 = dh_is_gex(psVar19);" (assignment_expression "iVar15 = dh_is_gex(psVar19)" identifier = (call_expression "dh_is_gex(psVar19)" identifier (argument_list "(psVar19)" ( identifier )))) ;) (if_statement "if (iVar15 != 0) {\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);\n              iVar22 = piVar27[1];\n              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;\n              iVar15 = iVar22 + -1;\n              if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }\n              iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);\n              if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }\n              if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }\n              pPVar26 = ssh2_pkt_init(0x1e);\n                    /* WARNING: Subroutine does not return */\n              piVar27[0x4f] = (int)pPVar26;\n              ssh_pkt_adduint32(pPVar26,piVar27[2]);\n            }" { (expression_statement "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0);" (call_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0)" (parenthesized_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))" ( (pointer_expression "**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (pointer_expression "*(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (cast_expression "(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (binary_expression "random_add_heavynoise_bitbybit + in_t9 + 4" (binary_expression "random_add_heavynoise_bitbybit + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x5af0)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5af0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar22 = piVar27[1];" (assignment_expression "iVar22 = piVar27[1]" identifier = (subscript_expression "piVar27[1]" identifier [ number_literal ])) ;) (expression_statement "ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;" (assignment_expression "ssh->pkt_kctx = SSH2_PKTCTX_DHGEX" (field_expression "ssh->pkt_kctx" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar15 = iVar22 + -1;" (assignment_expression "iVar15 = iVar22 + -1" identifier = (binary_expression "iVar22 + -1" identifier + number_literal)) ;) (if_statement "if (iVar15 < 0) {\n                iVar15 = iVar22 + 0x3e;\n              }" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (compound_statement "{\n                iVar15 = iVar22 + 0x3e;\n              }" { (expression_statement "iVar15 = iVar22 + 0x3e;" (assignment_expression "iVar15 = iVar22 + 0x3e" identifier = (binary_expression "iVar22 + 0x3e" identifier + number_literal)) ;) })) (expression_statement "iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU);" (assignment_expression "iVar15 = 0x200 << (iVar15 >> 6 & 0x1fU)" identifier = (binary_expression "0x200 << (iVar15 >> 6 & 0x1fU)" number_literal << (parenthesized_expression "(iVar15 >> 6 & 0x1fU)" ( (binary_expression "iVar15 >> 6 & 0x1fU" (binary_expression "iVar15 >> 6" identifier >> number_literal) & number_literal) )))) ;) (if_statement "if (iVar15 < 0x400) {\n                piVar27[2] = 0x400;\n              }\n              else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }" if (parenthesized_expression "(iVar15 < 0x400)" ( (binary_expression "iVar15 < 0x400" identifier < number_literal) )) (compound_statement "{\n                piVar27[2] = 0x400;\n              }" { (expression_statement "piVar27[2] = 0x400;" (assignment_expression "piVar27[2] = 0x400" (subscript_expression "piVar27[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }" else (compound_statement "{\n                if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }\n                piVar27[2] = iVar15;\n              }" { (if_statement "if (0x2000 < iVar15) {\n                  iVar15 = 0x2000;\n                }" if (parenthesized_expression "(0x2000 < iVar15)" ( (binary_expression "0x2000 < iVar15" number_literal < identifier) )) (compound_statement "{\n                  iVar15 = 0x2000;\n                }" { (expression_statement "iVar15 = 0x2000;" (assignment_expression "iVar15 = 0x2000" identifier = number_literal) ;) })) (expression_statement "piVar27[2] = iVar15;" (assignment_expression "piVar27[2] = iVar15" (subscript_expression "piVar27[2]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if ((ssh->remote_bugs & 0x1000U) == 0) {\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }" if (parenthesized_expression "((ssh->remote_bugs & 0x1000U) == 0)" ( (binary_expression "(ssh->remote_bugs & 0x1000U) == 0" (parenthesized_expression "(ssh->remote_bugs & 0x1000U)" ( (binary_expression "ssh->remote_bugs & 0x1000U" (field_expression "ssh->remote_bugs" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                pPVar26 = ssh2_pkt_init(0x22);\n                piVar27[0x4f] = (int)pPVar26;\n                x[0] = '\0';\n                x[1] = '\0';\n                x[2] = '\x04';\n                x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                ssh_pkt_adddata(pPVar26,x,4);\n              }" { (expression_statement "pPVar26 = ssh2_pkt_init(0x22);" (assignment_expression "pPVar26 = ssh2_pkt_init(0x22)" identifier = (call_expression "ssh2_pkt_init(0x22)" identifier (argument_list "(0x22)" ( number_literal )))) ;) (expression_statement "piVar27[0x4f] = (int)pPVar26;" (assignment_expression "piVar27[0x4f] = (int)pPVar26" (subscript_expression "piVar27[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "x[0] = '\0';" (assignment_expression "x[0] = '\0'" (subscript_expression "x[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[1] = '\0';" (assignment_expression "x[1] = '\0'" (subscript_expression "x[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[2] = '\x04';" (assignment_expression "x[2] = '\x04'" (subscript_expression "x[2]" identifier [ number_literal ]) = (char_literal "'\x04'" ' escape_sequence ')) ;) (expression_statement "x[3] = '\0';" (assignment_expression "x[3] = '\0'" (subscript_expression "x[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) comment (expression_statement "ssh_pkt_adddata(pPVar26,x,4);" (call_expression "ssh_pkt_adddata(pPVar26,x,4)" identifier (argument_list "(pPVar26,x,4)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "pPVar26 = ssh2_pkt_init(0x1e);" (assignment_expression "pPVar26 = ssh2_pkt_init(0x1e)" identifier = (call_expression "ssh2_pkt_init(0x1e)" identifier (argument_list "(0x1e)" ( number_literal )))) ;) comment (expression_statement "piVar27[0x4f] = (int)pPVar26;" (assignment_expression "piVar27[0x4f] = (int)pPVar26" (subscript_expression "piVar27[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_adduint32(pPVar26,piVar27[2]);" (call_expression "ssh_pkt_adduint32(pPVar26,piVar27[2])" identifier (argument_list "(pPVar26,piVar27[2])" ( identifier , (subscript_expression "piVar27[2]" identifier [ number_literal ]) ))) ;) })) (expression_statement "ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;" (assignment_expression "ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP" (field_expression "ssh->pkt_kctx" identifier -> field_identifier) = identifier) ;) (expression_statement "pvVar13 = dh_setup_group(ssh->kex);" (assignment_expression "pvVar13 = dh_setup_group(ssh->kex)" identifier = (call_expression "dh_setup_group(ssh->kex)" identifier (argument_list "(ssh->kex)" ( (field_expression "ssh->kex" identifier -> field_identifier) )))) ;) (expression_statement "psVar19 = ssh->kex;" (assignment_expression "psVar19 = ssh->kex" identifier = (field_expression "ssh->kex" identifier -> field_identifier)) ;) (expression_statement "ssh->kex_ctx = pvVar13;" (assignment_expression "ssh->kex_ctx = pvVar13" (field_expression "ssh->kex_ctx" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar27[0xe] = 0x1e;" (assignment_expression "piVar27[0xe] = 0x1e" (subscript_expression "piVar27[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar15 = *(int *)(in_t9 + 0x6f5bc);" (assignment_expression "iVar15 = *(int *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = psVar19->groupname;" (assignment_expression "pcVar24 = psVar19->groupname" identifier = (field_expression "psVar19->groupname" identifier -> field_identifier)) ;) (expression_statement "piVar27[0xf] = 0x1f;" (assignment_expression "piVar27[0xf] = 0x1f" (subscript_expression "piVar27[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24);" (call_expression "logeventf(ssh,(char *)(iVar15 + 0x5b78),pcVar24)" identifier (argument_list "(ssh,(char *)(iVar15 + 0x5b78),pcVar24)" ( identifier , (cast_expression "(char *)(iVar15 + 0x5b78)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x5b78)" ( (binary_expression "iVar15 + 0x5b78" identifier + number_literal) ))) , identifier ))) ;) (labeled_statement "LAB_00043d90:\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);" statement_identifier : (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5ba8)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5ba8" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , (field_expression "ssh->kex->hash->text_name" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier) ))) ;)) (expression_statement "(**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);" (call_expression "(**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2)" (parenthesized_expression "(**(code **)(in_t9 + 0x6fb80))" ( (pointer_expression "**(code **)(in_t9 + 0x6fb80)" * (pointer_expression "*(code **)(in_t9 + 0x6fb80)" * (cast_expression "(code **)(in_t9 + 0x6fb80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fb80)" ( (binary_expression "in_t9 + 0x6fb80" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,2)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , number_literal ))) ;) (expression_statement "pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1);" (assignment_expression "pvVar9 = dh_create_e(ssh->kex_ctx,piVar27[1] << 1)" identifier = (call_expression "dh_create_e(ssh->kex_ctx,piVar27[1] << 1)" identifier (argument_list "(ssh->kex_ctx,piVar27[1] << 1)" ( (field_expression "ssh->kex_ctx" identifier -> field_identifier) , (binary_expression "piVar27[1] << 1" (subscript_expression "piVar27[1]" identifier [ number_literal ]) << number_literal) )))) ;) (expression_statement "piVar27[9] = (int)pvVar9;" (assignment_expression "piVar27[9] = (int)pvVar9" (subscript_expression "piVar27[9]" identifier [ number_literal ]) = (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pPVar26 = ssh2_pkt_init(piVar27[0xe]);" (assignment_expression "pPVar26 = ssh2_pkt_init(piVar27[0xe])" identifier = (call_expression "ssh2_pkt_init(piVar27[0xe])" identifier (argument_list "(piVar27[0xe])" ( (subscript_expression "piVar27[0xe]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar27[0x4f] = (int)pPVar26;" (assignment_expression "piVar27[0x4f] = (int)pPVar26" (subscript_expression "piVar27[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh2_mpint_fmt((Bignum)piVar27[9],&len);" (call_expression "ssh2_mpint_fmt((Bignum)piVar27[9],&len)" identifier (argument_list "((Bignum)piVar27[9],&len)" ( (cast_expression "(Bignum)piVar27[9]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[9]" identifier [ number_literal ])) , (pointer_expression "&len" & identifier) ))) ;) (expression_statement "x[0] = '\0';" (assignment_expression "x[0] = '\0'" (subscript_expression "x[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[1] = '\0';" (assignment_expression "x[1] = '\0'" (subscript_expression "x[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[2] = '\0';" (assignment_expression "x[2] = '\0'" (subscript_expression "x[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[3] = '\0';" (assignment_expression "x[3] = '\0'" (subscript_expression "x[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) comment (expression_statement "ssh_pkt_adddata(pPVar26,x,4);" (call_expression "ssh_pkt_adddata(pPVar26,x,4)" identifier (argument_list "(pPVar26,x,4)" ( identifier , identifier , number_literal ))) ;) })) (if_statement "if (psVar19->main_type != ADDRTYPE_IPV6) {\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }" if (parenthesized_expression "(psVar19->main_type != ADDRTYPE_IPV6)" ( (binary_expression "psVar19->main_type != ADDRTYPE_IPV6" (field_expression "psVar19->main_type" identifier -> field_identifier) != identifier) )) (compound_statement "{\n            ssh_00 = ssh;\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);\n            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;\n            goto LAB_000451dc;\n          }" { (expression_statement "ssh_00 = ssh;" (assignment_expression "ssh_00 = ssh" identifier = identifier) ;) (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5d7c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5d7c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , (field_expression "psVar19->hash->text_name" (field_expression "psVar19->hash" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;" (assignment_expression "ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX" (field_expression "ssh->pkt_kctx" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_000451dc;" goto statement_identifier ;) })) (expression_statement "uVar11 = (**(code **)(in_t9 + 0x6fbd4))();" (assignment_expression "uVar11 = (**(code **)(in_t9 + 0x6fbd4))()" identifier = (call_expression "(**(code **)(in_t9 + 0x6fbd4))()" (parenthesized_expression "(**(code **)(in_t9 + 0x6fbd4))" ( (pointer_expression "**(code **)(in_t9 + 0x6fbd4)" * (pointer_expression "*(code **)(in_t9 + 0x6fbd4)" * (cast_expression "(code **)(in_t9 + 0x6fbd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fbd4)" ( (binary_expression "in_t9 + 0x6fbd4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60),uVar11,\n                    ssh->kex->hash->text_name)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c60)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5c60)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5c60" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , identifier , (field_expression "ssh->kex->hash->text_name" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier) ))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6fbd8);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6fbd8)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6fbd8)" * (cast_expression "(code **)(in_t9 + 0x6fbd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fbd8)" ( (binary_expression "in_t9 + 0x6fbd8" identifier + number_literal) ))))) ;) (expression_statement "ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;" (assignment_expression "ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX" (field_expression "ssh->pkt_kctx" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar15 = (*pcVar37)(ssh->kex);" (assignment_expression "iVar15 = (*pcVar37)(ssh->kex)" identifier = (call_expression "(*pcVar37)(ssh->kex)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(ssh->kex)" ( (field_expression "ssh->kex" identifier -> field_identifier) )))) ;) (expression_statement "piVar27[0x24] = iVar15;" (assignment_expression "piVar27[0x24] = iVar15" (subscript_expression "piVar27[0x24]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 == 0) {\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }\n          else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);\n          }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5c94)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5c94" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }" else (compound_statement "{\n            iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);\n            if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);\n          }" { (expression_statement "iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len);" (assignment_expression "iVar15 = (**(code **)(in_t9 + 0x6fba0))(iVar15,&len)" identifier = (call_expression "(**(code **)(in_t9 + 0x6fba0))(iVar15,&len)" (parenthesized_expression "(**(code **)(in_t9 + 0x6fba0))" ( (pointer_expression "**(code **)(in_t9 + 0x6fba0)" * (pointer_expression "*(code **)(in_t9 + 0x6fba0)" * (cast_expression "(code **)(in_t9 + 0x6fba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fba0)" ( (binary_expression "in_t9 + 0x6fba0" identifier + number_literal) ))))) )) (argument_list "(iVar15,&len)" ( identifier , (pointer_expression "&len" & identifier) )))) ;) (if_statement "if (iVar15 != 0) {\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              pPVar26 = ssh2_pkt_init(0x1e);\n              piVar27[0x4f] = (int)pPVar26;\n              x[0] = '\0';\n              x[1] = '\0';\n              x[2] = '\0';\n              x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n              ssh_pkt_adddata(pPVar26,x,4);\n            }" { (expression_statement "pPVar26 = ssh2_pkt_init(0x1e);" (assignment_expression "pPVar26 = ssh2_pkt_init(0x1e)" identifier = (call_expression "ssh2_pkt_init(0x1e)" identifier (argument_list "(0x1e)" ( number_literal )))) ;) (expression_statement "piVar27[0x4f] = (int)pPVar26;" (assignment_expression "piVar27[0x4f] = (int)pPVar26" (subscript_expression "piVar27[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "x[0] = '\0';" (assignment_expression "x[0] = '\0'" (subscript_expression "x[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[1] = '\0';" (assignment_expression "x[1] = '\0'" (subscript_expression "x[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[2] = '\0';" (assignment_expression "x[2] = '\0'" (subscript_expression "x[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[3] = '\0';" (assignment_expression "x[3] = '\0'" (subscript_expression "x[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) comment (expression_statement "ssh_pkt_adddata(pPVar26,x,4);" (call_expression "ssh_pkt_adddata(pPVar26,x,4)" identifier (argument_list "(pPVar26,x,4)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);" (call_expression "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24])" (parenthesized_expression "(**(code **)(random_unref + in_t9 + 4))" ( (pointer_expression "**(code **)(random_unref + in_t9 + 4)" * (pointer_expression "*(code **)(random_unref + in_t9 + 4)" * (cast_expression "(code **)(random_unref + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_unref + in_t9 + 4)" ( (binary_expression "random_unref + in_t9 + 4" (binary_expression "random_unref + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(piVar27[0x24])" ( (subscript_expression "piVar27[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5cb4)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5cb4" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) }))) (expression_statement "*piVar27 = 0x1b43;" (assignment_expression "*piVar27 = 0x1b43" (pointer_expression "*piVar27" * identifier) = number_literal) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1a26) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1a26;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x14) {\n        uStack_6c = 0xfffffffa;\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        iVar39 = *(int *)(in_t9 + 0x6f5ac);\n        iVar3 = pktin->savedpos;\n        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);\n        ssh->kex = (ssh_kex *)0x0;\n        iVar32 = *(int *)(random_ref + in_t9);\n        ssh->hostkey = (ssh_signkey *)0x0;\n        uStack_74 = 0;\n        piVar27[0x12] = 0;\n        piVar27[0x13] = 0;\n        piVar27[0x14] = 0;\n        piVar27[0x15] = 0;\n        piVar27[0x18] = 0;\n        piVar27[0x19] = 0;\n        piVar27[4] = 0;\n        piVar27[3] = 0;\n        piVar27[6] = 0;\n        piVar27[5] = 0;\n        pktin->savedpos = iVar3 + 0x10;\n        piVar27[0x51] = 0;\n        piStack_68 = piVar27;\n        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);\n      }\n      else {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }\n      goto LAB_0004361c;\n    }" if (parenthesized_expression "(iVar3 == 0x1a26)" ( (binary_expression "iVar3 == 0x1a26" identifier == number_literal) )) (compound_statement "{\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1a26;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x14) {\n        uStack_6c = 0xfffffffa;\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        iVar39 = *(int *)(in_t9 + 0x6f5ac);\n        iVar3 = pktin->savedpos;\n        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);\n        ssh->kex = (ssh_kex *)0x0;\n        iVar32 = *(int *)(random_ref + in_t9);\n        ssh->hostkey = (ssh_signkey *)0x0;\n        uStack_74 = 0;\n        piVar27[0x12] = 0;\n        piVar27[0x13] = 0;\n        piVar27[0x14] = 0;\n        piVar27[0x15] = 0;\n        piVar27[0x18] = 0;\n        piVar27[0x19] = 0;\n        piVar27[4] = 0;\n        piVar27[3] = 0;\n        piVar27[6] = 0;\n        piVar27[5] = 0;\n        pktin->savedpos = iVar3 + 0x10;\n        piVar27[0x51] = 0;\n        piStack_68 = piVar27;\n        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);\n      }\n      else {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }\n      goto LAB_0004361c;\n    }" { (if_statement "if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1a26;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(pktin == (Packet *)0x0)" ( (binary_expression "pktin == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar27 = 0x1a26;\n        goto LAB_00042f18;\n      }" { (expression_statement "*piVar27 = 0x1a26;" (assignment_expression "*piVar27 = 0x1a26" (pointer_expression "*piVar27" * identifier) = number_literal) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (pktin->type == 0x14) {\n        uStack_6c = 0xfffffffa;\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        iVar39 = *(int *)(in_t9 + 0x6f5ac);\n        iVar3 = pktin->savedpos;\n        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);\n        ssh->kex = (ssh_kex *)0x0;\n        iVar32 = *(int *)(random_ref + in_t9);\n        ssh->hostkey = (ssh_signkey *)0x0;\n        uStack_74 = 0;\n        piVar27[0x12] = 0;\n        piVar27[0x13] = 0;\n        piVar27[0x14] = 0;\n        piVar27[0x15] = 0;\n        piVar27[0x18] = 0;\n        piVar27[0x19] = 0;\n        piVar27[4] = 0;\n        piVar27[3] = 0;\n        piVar27[6] = 0;\n        piVar27[5] = 0;\n        pktin->savedpos = iVar3 + 0x10;\n        piVar27[0x51] = 0;\n        piStack_68 = piVar27;\n        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);\n      }\n      else {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }" if (parenthesized_expression "(pktin->type == 0x14)" ( (binary_expression "pktin->type == 0x14" (field_expression "pktin->type" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        uStack_6c = 0xfffffffa;\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        iVar39 = *(int *)(in_t9 + 0x6f5ac);\n        iVar3 = pktin->savedpos;\n        pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);\n        ssh->kex = (ssh_kex *)0x0;\n        iVar32 = *(int *)(random_ref + in_t9);\n        ssh->hostkey = (ssh_signkey *)0x0;\n        uStack_74 = 0;\n        piVar27[0x12] = 0;\n        piVar27[0x13] = 0;\n        piVar27[0x14] = 0;\n        piVar27[0x15] = 0;\n        piVar27[0x18] = 0;\n        piVar27[0x19] = 0;\n        piVar27[4] = 0;\n        piVar27[3] = 0;\n        piVar27[6] = 0;\n        piVar27[5] = 0;\n        pktin->savedpos = iVar3 + 0x10;\n        piVar27[0x51] = 0;\n        piStack_68 = piVar27;\n        while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);\n      }" { (expression_statement "uStack_6c = 0xfffffffa;" (assignment_expression "uStack_6c = 0xfffffffa" identifier = number_literal) ;) (expression_statement "pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);" (assignment_expression "pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704)" identifier = (cast_expression "(code *)(*(int *)(in_t9 + 0x6f974) + 0x7704)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f974) + 0x7704)" ( (binary_expression "*(int *)(in_t9 + 0x6f974) + 0x7704" (pointer_expression "*(int *)(in_t9 + 0x6f974)" * (cast_expression "(int *)(in_t9 + 0x6f974)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f974)" ( (binary_expression "in_t9 + 0x6f974" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar39 = *(int *)(in_t9 + 0x6f5ac);" (assignment_expression "iVar39 = *(int *)(in_t9 + 0x6f5ac)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6f5ac)" * (cast_expression "(int *)(in_t9 + 0x6f5ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5ac)" ( (binary_expression "in_t9 + 0x6f5ac" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = pktin->savedpos;" (assignment_expression "iVar3 = pktin->savedpos" identifier = (field_expression "pktin->savedpos" identifier -> field_identifier)) ;) (expression_statement "pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4);" (assignment_expression "pcVar38 = (code *)(*(int *)(random_ref + in_t9) + -0x26e4)" identifier = (cast_expression "(code *)(*(int *)(random_ref + in_t9) + -0x26e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(random_ref + in_t9) + -0x26e4)" ( (binary_expression "*(int *)(random_ref + in_t9) + -0x26e4" (pointer_expression "*(int *)(random_ref + in_t9)" * (cast_expression "(int *)(random_ref + in_t9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(random_ref + in_t9)" ( (binary_expression "random_ref + in_t9" identifier + identifier) )))) + number_literal) )))) ;) (expression_statement "ssh->kex = (ssh_kex *)0x0;" (assignment_expression "ssh->kex = (ssh_kex *)0x0" (field_expression "ssh->kex" identifier -> field_identifier) = (cast_expression "(ssh_kex *)0x0" ( (type_descriptor "ssh_kex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar32 = *(int *)(random_ref + in_t9);" (assignment_expression "iVar32 = *(int *)(random_ref + in_t9)" identifier = (pointer_expression "*(int *)(random_ref + in_t9)" * (cast_expression "(int *)(random_ref + in_t9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(random_ref + in_t9)" ( (binary_expression "random_ref + in_t9" identifier + identifier) ))))) ;) (expression_statement "ssh->hostkey = (ssh_signkey *)0x0;" (assignment_expression "ssh->hostkey = (ssh_signkey *)0x0" (field_expression "ssh->hostkey" identifier -> field_identifier) = (cast_expression "(ssh_signkey *)0x0" ( (type_descriptor "ssh_signkey *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_74 = 0;" (assignment_expression "uStack_74 = 0" identifier = number_literal) ;) (expression_statement "piVar27[0x12] = 0;" (assignment_expression "piVar27[0x12] = 0" (subscript_expression "piVar27[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x13] = 0;" (assignment_expression "piVar27[0x13] = 0" (subscript_expression "piVar27[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x14] = 0;" (assignment_expression "piVar27[0x14] = 0" (subscript_expression "piVar27[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x15] = 0;" (assignment_expression "piVar27[0x15] = 0" (subscript_expression "piVar27[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x18] = 0;" (assignment_expression "piVar27[0x18] = 0" (subscript_expression "piVar27[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x19] = 0;" (assignment_expression "piVar27[0x19] = 0" (subscript_expression "piVar27[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[4] = 0;" (assignment_expression "piVar27[4] = 0" (subscript_expression "piVar27[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[3] = 0;" (assignment_expression "piVar27[3] = 0" (subscript_expression "piVar27[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[6] = 0;" (assignment_expression "piVar27[6] = 0" (subscript_expression "piVar27[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[5] = 0;" (assignment_expression "piVar27[5] = 0" (subscript_expression "piVar27[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pktin->savedpos = iVar3 + 0x10;" (assignment_expression "pktin->savedpos = iVar3 + 0x10" (field_expression "pktin->savedpos" identifier -> field_identifier) = (binary_expression "iVar3 + 0x10" identifier + number_literal)) ;) (expression_statement "piVar27[0x51] = 0;" (assignment_expression "piVar27[0x51] = 0" (subscript_expression "piVar27[0x51]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piStack_68 = piVar27;" (assignment_expression "piStack_68 = piVar27" identifier = identifier) ;) (while_statement "while ((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0) {\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }" while (parenthesized_expression "((*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0)" ( (comma_expression "(*pcVar37)(pktin,&str,&len), iVar3 = len, pcVar24 = str, str != (char *)0x0" (call_expression "(*pcVar37)(pktin,&str,&len)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(pktin,&str,&len)" ( identifier , (pointer_expression "&str" & identifier) , (pointer_expression "&len" & identifier) ))) , (comma_expression "iVar3 = len, pcVar24 = str, str != (char *)0x0" (assignment_expression "iVar3 = len" identifier = identifier) , (comma_expression "pcVar24 = str, str != (char *)0x0" (assignment_expression "pcVar24 = str" identifier = identifier) , (binary_expression "str != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))))) )) (compound_statement "{\n          if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }\n          uStack_74 = uStack_74 + 1;\n          piStack_68 = piStack_68 + 0x30;\n          uStack_6c = uStack_6c + 1;\n        }" { (if_statement "if (uStack_74 == 4) {\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }" if (parenthesized_expression "(uStack_74 == 4)" ( (binary_expression "uStack_74 == 4" identifier == number_literal) )) (compound_statement "{\n            if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }\n          }" { (if_statement "if ((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)) {\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }" if (parenthesized_expression "((piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0))" ( (binary_expression "(piVar27[0x12] == 0) || (iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)" (parenthesized_expression "(piVar27[0x12] == 0)" ( (binary_expression "piVar27[0x12] == 0" (subscript_expression "piVar27[0x12]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0)" ( (comma_expression "iVar33 = *(int *)(piVar27[0x12] + 0x38), iVar33 == 0" (assignment_expression "iVar33 = *(int *)(piVar27[0x12] + 0x38)" identifier = (pointer_expression "*(int *)(piVar27[0x12] + 0x38)" * (cast_expression "(int *)(piVar27[0x12] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x12] + 0x38)" ( (binary_expression "piVar27[0x12] + 0x38" (subscript_expression "piVar27[0x12]" identifier [ number_literal ]) + number_literal) ))))) , (binary_expression "iVar33 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00043b30:\n              iVar33 = 0;\n              piVar20 = piStack_68;\nLAB_00043b44:\n              iVar8 = piVar20[0x53];\n              if (iVar8 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }\n            }" { (labeled_statement "LAB_00043b30:\n              iVar33 = 0;" statement_identifier : (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;)) (expression_statement "piVar20 = piStack_68;" (assignment_expression "piVar20 = piStack_68" identifier = identifier) ;) (labeled_statement "LAB_00043b44:\n              iVar8 = piVar20[0x53];" statement_identifier : (expression_statement "iVar8 = piVar20[0x53];" (assignment_expression "iVar8 = piVar20[0x53]" identifier = (subscript_expression "piVar20[0x53]" identifier [ number_literal ])) ;)) (if_statement "if (iVar8 == 0) goto LAB_00043b7c;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00043b7c;" goto statement_identifier ;)) (expression_statement "iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3);" (assignment_expression "iVar7 = (*pcVar38)(iVar8,pcVar24,iVar3)" identifier = (call_expression "(*pcVar38)(iVar8,pcVar24,iVar3)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(iVar8,pcVar24,iVar3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) goto code_r0x00043b68;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00043b68;" goto statement_identifier ;)) (if_statement "if (uStack_74 < 2) {\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }\n              else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" if (parenthesized_expression "(uStack_74 < 2)" ( (binary_expression "uStack_74 < 2" identifier < number_literal) )) (compound_statement "{\n                if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }\n                if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }\n              }" { (if_statement "if ((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)) {\n                  piVar27[0x51] = 0;\n                }" if (parenthesized_expression "((iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0))" ( (binary_expression "(iVar33 != 0) ||\n                   (iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)" (parenthesized_expression "(iVar33 != 0)" ( (binary_expression "iVar33 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3)" identifier = (call_expression "(*(code *)(iVar32 + -0x27a4))(iVar8,pcVar24,iVar3)" (parenthesized_expression "(*(code *)(iVar32 + -0x27a4))" ( (pointer_expression "*(code *)(iVar32 + -0x27a4)" * (cast_expression "(code *)(iVar32 + -0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + -0x27a4)" ( (binary_expression "iVar32 + -0x27a4" identifier + number_literal) )))) )) (argument_list "(iVar8,pcVar24,iVar3)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                  piVar27[0x51] = 0;\n                }" { (expression_statement "piVar27[0x51] = 0;" (assignment_expression "piVar27[0x51] = 0" (subscript_expression "piVar27[0x51]" identifier [ number_literal ]) = number_literal) ;) })) (if_statement "if (uStack_74 == 0) {\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }" if (parenthesized_expression "(uStack_74 == 0)" ( (binary_expression "uStack_74 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar3 = piVar27[iVar33 * 3 + 0x55];\n                  ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];\n                  piVar27[3] = iVar3;\nLAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }" { (expression_statement "iVar3 = piVar27[iVar33 * 3 + 0x55];" (assignment_expression "iVar3 = piVar27[iVar33 * 3 + 0x55]" identifier = (subscript_expression "piVar27[iVar33 * 3 + 0x55]" identifier [ (binary_expression "iVar33 * 3 + 0x55" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54];" (assignment_expression "ssh->kex = (ssh_kex *)piVar27[iVar33 * 3 + 0x54]" (field_expression "ssh->kex" identifier -> field_identifier) = (cast_expression "(ssh_kex *)piVar27[iVar33 * 3 + 0x54]" ( (type_descriptor "ssh_kex *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[iVar33 * 3 + 0x54]" identifier [ (binary_expression "iVar33 * 3 + 0x54" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ]))) ;) (expression_statement "piVar27[3] = iVar3;" (assignment_expression "piVar27[3] = iVar3" (subscript_expression "piVar27[3]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_000452b4:\n                  if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" statement_identifier : (if_statement "if (uStack_74 == 7) {\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" if (parenthesized_expression "(uStack_74 == 7)" ( (binary_expression "uStack_74 == 7" identifier == number_literal) )) (compound_statement "{\n                    if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }\n                    (*pcVar37)(pktin,&str,&len);\n                    (*pcVar37)(pktin,&str,&len);\n                    iVar3 = pktin->savedpos;\n                    if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }\n                    psVar19 = ssh->kex;\n                    piVar27[0x52] = uVar14;\n                    pvVar13 = (*psVar19->hash->init)();\n                    pcVar24 = ssh->v_c;\n                    ssh->exhash = pvVar13;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);\n                    pcVar24 = ssh->v_s;\n                    iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);\n                    hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);\n                    (**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);\n                    ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;\n                    hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);\n                    if (piVar27[3] == 0) goto LAB_00043bfc;\n                    ppsVar18 = ssh->s;\n                    if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }\n                    iVar3 = *(int *)(in_t9 + 0x6f5bc);\n                    pcVar37 = *(code **)(in_t9 + 0x6fb88);\n                    inlen = (int)ssh->kex->name;\n                    ssh_00 = (Ssh_conflict)ssh->frontend;\n                    pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n                    ssh->frozen = 1;\n                    iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);\n                    piVar27[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" { (if_statement "if (piVar27[0x4c] != 0) {\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }" if (parenthesized_expression "(piVar27[0x4c] != 0)" ( (binary_expression "piVar27[0x4c] != 0" (subscript_expression "piVar27[0x4c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                      (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);\n                    }" { (expression_statement "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0);" (call_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                                (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0)" (parenthesized_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))" ( (pointer_expression "**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (pointer_expression "*(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (cast_expression "(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (binary_expression "random_add_heavynoise_bitbybit + in_t9 + 4" (binary_expression "random_add_heavynoise_bitbybit + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x59f0)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x59f0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(*pcVar37)(pktin,&str,&len);" (call_expression "(*pcVar37)(pktin,&str,&len)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(pktin,&str,&len)" ( identifier , (pointer_expression "&str" & identifier) , (pointer_expression "&len" & identifier) ))) ;) (expression_statement "(*pcVar37)(pktin,&str,&len);" (call_expression "(*pcVar37)(pktin,&str,&len)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(pktin,&str,&len)" ( identifier , (pointer_expression "&str" & identifier) , (pointer_expression "&len" & identifier) ))) ;) (expression_statement "iVar3 = pktin->savedpos;" (assignment_expression "iVar3 = pktin->savedpos" identifier = (field_expression "pktin->savedpos" identifier -> field_identifier)) ;) (if_statement "if ((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')) {\n                      uVar14 = 0;\n                    }\n                    else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }" if (parenthesized_expression "((pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0'))" ( (binary_expression "(pktin->length - iVar3 < 1) ||\n                       (uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')" (parenthesized_expression "(pktin->length - iVar3 < 1)" ( (binary_expression "pktin->length - iVar3 < 1" (binary_expression "pktin->length - iVar3" (field_expression "pktin->length" identifier -> field_identifier) - identifier) < number_literal) )) || (parenthesized_expression "(uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0')" ( (comma_expression "uVar1 = pktin->body[iVar3], pktin->savedpos = iVar3 + 1, uVar1 == '\0'" (assignment_expression "uVar1 = pktin->body[iVar3]" identifier = (subscript_expression "pktin->body[iVar3]" (field_expression "pktin->body" identifier -> field_identifier) [ identifier ])) , (comma_expression "pktin->savedpos = iVar3 + 1, uVar1 == '\0'" (assignment_expression "pktin->savedpos = iVar3 + 1" (field_expression "pktin->savedpos" identifier -> field_identifier) = (binary_expression "iVar3 + 1" identifier + number_literal)) , (binary_expression "uVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n                      uVar14 = 0;\n                    }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }" else (compound_statement "{\n                      uVar14 = (uint)(piVar27[0x51] == 0);\n                    }" { (expression_statement "uVar14 = (uint)(piVar27[0x51] == 0);" (assignment_expression "uVar14 = (uint)(piVar27[0x51] == 0)" identifier = (call_expression "(uint)(piVar27[0x51] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar27[0x51] == 0)" ( (binary_expression "piVar27[0x51] == 0" (subscript_expression "piVar27[0x51]" identifier [ number_literal ]) == number_literal) )))) ;) }))) (expression_statement "psVar19 = ssh->kex;" (assignment_expression "psVar19 = ssh->kex" identifier = (field_expression "ssh->kex" identifier -> field_identifier)) ;) (expression_statement "piVar27[0x52] = uVar14;" (assignment_expression "piVar27[0x52] = uVar14" (subscript_expression "piVar27[0x52]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pvVar13 = (*psVar19->hash->init)();" (assignment_expression "pvVar13 = (*psVar19->hash->init)()" identifier = (call_expression "(*psVar19->hash->init)()" (parenthesized_expression "(*psVar19->hash->init)" ( (pointer_expression "*psVar19->hash->init" * (field_expression "psVar19->hash->init" (field_expression "psVar19->hash" identifier -> field_identifier) -> field_identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "pcVar24 = ssh->v_c;" (assignment_expression "pcVar24 = ssh->v_c" identifier = (field_expression "ssh->v_c" identifier -> field_identifier)) ;) (expression_statement "ssh->exhash = pvVar13;" (assignment_expression "ssh->exhash = pvVar13" (field_expression "ssh->exhash" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);" (assignment_expression "iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24)" identifier = (call_expression "(**(code **)(in_t9 + 0x7005c))(pcVar24)" (parenthesized_expression "(**(code **)(in_t9 + 0x7005c))" ( (pointer_expression "**(code **)(in_t9 + 0x7005c)" * (pointer_expression "*(code **)(in_t9 + 0x7005c)" * (cast_expression "(code **)(in_t9 + 0x7005c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x7005c)" ( (binary_expression "in_t9 + 0x7005c" identifier + number_literal) ))))) )) (argument_list "(pcVar24)" ( identifier )))) ;) (expression_statement "hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3);" (call_expression "hash_string((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3)" identifier (argument_list "((ssh_hash *)&ssh->kex->hash->bytes,pvVar13,pcVar24,iVar3)" ( (cast_expression "(ssh_hash *)&ssh->kex->hash->bytes" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->kex->hash->bytes" & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) , identifier , identifier , identifier ))) ;) (expression_statement "pcVar24 = ssh->v_s;" (assignment_expression "pcVar24 = ssh->v_s" identifier = (field_expression "ssh->v_s" identifier -> field_identifier)) ;) (expression_statement "iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24);" (assignment_expression "iVar3 = (**(code **)(in_t9 + 0x7005c))(pcVar24)" identifier = (call_expression "(**(code **)(in_t9 + 0x7005c))(pcVar24)" (parenthesized_expression "(**(code **)(in_t9 + 0x7005c))" ( (pointer_expression "**(code **)(in_t9 + 0x7005c)" * (pointer_expression "*(code **)(in_t9 + 0x7005c)" * (cast_expression "(code **)(in_t9 + 0x7005c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x7005c)" ( (binary_expression "in_t9 + 0x7005c" identifier + number_literal) ))))) )) (argument_list "(pcVar24)" ( identifier )))) ;) (expression_statement "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3);" (call_expression "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3)" identifier (argument_list "((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pcVar24,iVar3)" ( (cast_expression "(ssh_hash *)&ssh->kex->hash->bytes" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->kex->hash->bytes" & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) , (field_expression "ssh->exhash" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd]);" (call_expression "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd])" identifier (argument_list "((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0xc],\n                                piVar27[0xd])" ( (cast_expression "(ssh_hash *)&ssh->kex->hash->bytes" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->kex->hash->bytes" & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(void *)piVar27[0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0xc]" identifier [ number_literal ])) , (subscript_expression "piVar27[0xd]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc]);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0xc])" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(piVar27[0xc])" ( (subscript_expression "piVar27[0xc]" identifier [ number_literal ]) ))) ;) (expression_statement "ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes;" (assignment_expression "ssh_00 = (Ssh_conflict)&ssh->kex->hash->bytes" identifier = (binary_expression "(Ssh_conflict)&ssh->kex->hash->bytes" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) ;) (expression_statement "hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1);" (call_expression "hash_string((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1)" identifier (argument_list "((ssh_hash *)ssh_00,ssh->exhash,pktin->body + -1,pktin->length + 1)" ( (cast_expression "(ssh_hash *)ssh_00" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "ssh->exhash" identifier -> field_identifier) , (binary_expression "pktin->body + -1" (field_expression "pktin->body" identifier -> field_identifier) + number_literal) , (binary_expression "pktin->length + 1" (field_expression "pktin->length" identifier -> field_identifier) + number_literal) ))) ;) (if_statement "if (piVar27[3] == 0) goto LAB_00043bfc;" if (parenthesized_expression "(piVar27[3] == 0)" ( (binary_expression "piVar27[3] == 0" (subscript_expression "piVar27[3]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00043bfc;" goto statement_identifier ;)) (expression_statement "ppsVar18 = ssh->s;" (assignment_expression "ppsVar18 = ssh->s" identifier = (field_expression "ssh->s" identifier -> field_identifier)) ;) (if_statement "if (ppsVar18 != (Socket)0x0) {\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }" if (parenthesized_expression "(ppsVar18 != (Socket)0x0)" ( (binary_expression "ppsVar18 != (Socket)0x0" identifier != (cast_expression "(Socket)0x0" ( (type_descriptor "Socket" type_identifier) ) number_literal)) )) (compound_statement "{\n                      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n                    }" { (expression_statement "(*(*ppsVar18)->set_frozen)(ppsVar18,1);" (call_expression "(*(*ppsVar18)->set_frozen)(ppsVar18,1)" (parenthesized_expression "(*(*ppsVar18)->set_frozen)" ( (pointer_expression "*(*ppsVar18)->set_frozen" * (field_expression "(*ppsVar18)->set_frozen" (parenthesized_expression "(*ppsVar18)" ( (pointer_expression "*ppsVar18" * identifier) )) -> field_identifier)) )) (argument_list "(ppsVar18,1)" ( identifier , number_literal ))) ;) })) (expression_statement "iVar3 = *(int *)(in_t9 + 0x6f5bc);" (assignment_expression "iVar3 = *(int *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6fb88);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6fb88)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6fb88)" * (cast_expression "(code **)(in_t9 + 0x6fb88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fb88)" ( (binary_expression "in_t9 + 0x6fb88" identifier + number_literal) ))))) ;) (expression_statement "inlen = (int)ssh->kex->name;" (assignment_expression "inlen = (int)ssh->kex->name" identifier = (cast_expression "(int)ssh->kex->name" ( (type_descriptor "int" primitive_type) ) (field_expression "ssh->kex->name" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "ssh_00 = (Ssh_conflict)ssh->frontend;" (assignment_expression "ssh_00 = (Ssh_conflict)ssh->frontend" identifier = (cast_expression "(Ssh_conflict)ssh->frontend" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->frontend" identifier -> field_identifier))) ;) (expression_statement "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);" (assignment_expression "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" identifier = (cast_expression "(Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (binary_expression "*(int *)(in_t9 + 0x6fb0c) + -0xf58" (pointer_expression "*(int *)(in_t9 + 0x6fb0c)" * (cast_expression "(int *)(in_t9 + 0x6fb0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6fb0c)" ( (binary_expression "in_t9 + 0x6fb0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh->frozen = 1;" (assignment_expression "ssh->frozen = 1" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh);" (assignment_expression "iVar3 = (*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh)" identifier = (call_expression "(*pcVar37)(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(ssh_00,iVar3 + 0x5a2c,inlen,pPVar26,ssh)" ( identifier , (binary_expression "iVar3 + 0x5a2c" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "piVar27[0x50] = iVar3;" (assignment_expression "piVar27[0x50] = iVar3" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 < 0) goto LAB_00045494;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00045494;" goto statement_identifier ;)) (goto_statement "goto LAB_00043bcc;" goto statement_identifier ;) }))) }) (else_clause "else {\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }" else (compound_statement "{\n                  psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n                  iVar8 = 0;\n                  puVar30 = (undefined4 *)(iVar39 + 0x1ed8);\n                  psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];\n                  iVar3 = piVar27[iVar33 * 3 + 0x85];\n                  ssh->hostkey = psVar17;\n                  piVar27[4] = iVar3;\n                  ssh->n_uncert_hostkeys = 0;\n                  while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }\n                }" { (expression_statement "psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0);" (assignment_expression "psVar29 = *(ssh_signkey **)(in_t9 + 0x6fbc0)" identifier = (pointer_expression "*(ssh_signkey **)(in_t9 + 0x6fbc0)" * (cast_expression "(ssh_signkey **)(in_t9 + 0x6fbc0)" ( (type_descriptor "ssh_signkey **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fbc0)" ( (binary_expression "in_t9 + 0x6fbc0" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "puVar30 = (undefined4 *)(iVar39 + 0x1ed8);" (assignment_expression "puVar30 = (undefined4 *)(iVar39 + 0x1ed8)" identifier = (cast_expression "(undefined4 *)(iVar39 + 0x1ed8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x1ed8)" ( (binary_expression "iVar39 + 0x1ed8" identifier + number_literal) )))) ;) (expression_statement "psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84];" (assignment_expression "psVar17 = (ssh_signkey *)piVar27[iVar33 * 3 + 0x84]" identifier = (cast_expression "(ssh_signkey *)piVar27[iVar33 * 3 + 0x84]" ( (type_descriptor "ssh_signkey *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[iVar33 * 3 + 0x84]" identifier [ (binary_expression "iVar33 * 3 + 0x84" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ]))) ;) (expression_statement "iVar3 = piVar27[iVar33 * 3 + 0x85];" (assignment_expression "iVar3 = piVar27[iVar33 * 3 + 0x85]" identifier = (subscript_expression "piVar27[iVar33 * 3 + 0x85]" identifier [ (binary_expression "iVar33 * 3 + 0x85" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "ssh->hostkey = psVar17;" (assignment_expression "ssh->hostkey = psVar17" (field_expression "ssh->hostkey" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar27[4] = iVar3;" (assignment_expression "piVar27[4] = iVar3" (subscript_expression "piVar27[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ssh->n_uncert_hostkeys = 0;" (assignment_expression "ssh->n_uncert_hostkeys = 0" (field_expression "ssh->n_uncert_hostkeys" identifier -> field_identifier) = number_literal) ;) (while_statement "while( true ) {\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }\n                    iVar8 = iVar8 + 1;\n                    puVar30 = puVar30 + 2;\n                    if (iVar8 == 6) break;\n                    psVar29 = (ssh_signkey *)*puVar30;\n                    psVar17 = ssh->hostkey;\n                  }" { (if_statement "if (((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)) {\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }" if (parenthesized_expression "(((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0))" ( (binary_expression "((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)) &&\n                       (iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)" (parenthesized_expression "((psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0))" ( (binary_expression "(psVar17 != psVar29) &&\n                        (iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)" (parenthesized_expression "(psVar17 != psVar29)" ( (binary_expression "psVar17 != psVar29" identifier != identifier) )) && (parenthesized_expression "(iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0)" ( (comma_expression "iVar3 = (*pcVar38)(psVar29->name,str,len), iVar3 != 0" (assignment_expression "iVar3 = (*pcVar38)(psVar29->name,str,len)" identifier = (call_expression "(*pcVar38)(psVar29->name,str,len)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(psVar29->name,str,len)" ( (field_expression "psVar29->name" identifier -> field_identifier) , identifier , identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0)" ( (comma_expression "iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype),\n                       iVar3 == 0" (assignment_expression "iVar3 = (**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype)" identifier = (call_expression "(**(code **)(in_t9 + 0x6fbfc))\n                                          (ssh->savedhost,ssh->savedport,psVar29->keytype)" (parenthesized_expression "(**(code **)(in_t9 + 0x6fbfc))" ( (pointer_expression "**(code **)(in_t9 + 0x6fbfc)" * (pointer_expression "*(code **)(in_t9 + 0x6fbfc)" * (cast_expression "(code **)(in_t9 + 0x6fbfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fbfc)" ( (binary_expression "in_t9 + 0x6fbfc" identifier + number_literal) ))))) )) (argument_list "(ssh->savedhost,ssh->savedport,psVar29->keytype)" ( (field_expression "ssh->savedhost" identifier -> field_identifier) , (field_expression "ssh->savedport" identifier -> field_identifier) , (field_expression "psVar29->keytype" identifier -> field_identifier) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                      iVar3 = ssh->n_uncert_hostkeys;\n                      ssh->n_uncert_hostkeys = iVar3 + 1;\n                      ssh->uncert_hostkeys[iVar3] = iVar8;\n                    }" { (expression_statement "iVar3 = ssh->n_uncert_hostkeys;" (assignment_expression "iVar3 = ssh->n_uncert_hostkeys" identifier = (field_expression "ssh->n_uncert_hostkeys" identifier -> field_identifier)) ;) (expression_statement "ssh->n_uncert_hostkeys = iVar3 + 1;" (assignment_expression "ssh->n_uncert_hostkeys = iVar3 + 1" (field_expression "ssh->n_uncert_hostkeys" identifier -> field_identifier) = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "ssh->uncert_hostkeys[iVar3] = iVar8;" (assignment_expression "ssh->uncert_hostkeys[iVar3] = iVar8" (subscript_expression "ssh->uncert_hostkeys[iVar3]" (field_expression "ssh->uncert_hostkeys" identifier -> field_identifier) [ identifier ]) = identifier) ;) })) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar30 = puVar30 + 2;" (assignment_expression "puVar30 = puVar30 + 2" identifier = (binary_expression "puVar30 + 2" identifier + number_literal)) ;) (if_statement "if (iVar8 == 6) break;" if (parenthesized_expression "(iVar8 == 6)" ( (binary_expression "iVar8 == 6" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "psVar29 = (ssh_signkey *)*puVar30;" (assignment_expression "psVar29 = (ssh_signkey *)*puVar30" identifier = (cast_expression "(ssh_signkey *)*puVar30" ( (type_descriptor "ssh_signkey *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar30" * identifier))) ;) (expression_statement "psVar17 = ssh->hostkey;" (assignment_expression "psVar17 = ssh->hostkey" identifier = (field_expression "ssh->hostkey" identifier -> field_identifier)) ;) })) }))) }) (else_clause "else if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" else (if_statement "if (uStack_74 == 2) {\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }\n              else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" if (parenthesized_expression "(uStack_74 == 2)" ( (binary_expression "uStack_74 == 2" identifier == number_literal) )) (compound_statement "{\n                piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];\n                piVar27[5] = piVar27[iVar33 * 3 + 0xb5];\n              }" { (expression_statement "piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4];" (assignment_expression "piVar27[0x12] = piVar27[iVar33 * 3 + 0xb4]" (subscript_expression "piVar27[0x12]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0xb4]" identifier [ (binary_expression "iVar33 * 3 + 0xb4" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar27[5] = piVar27[iVar33 * 3 + 0xb5];" (assignment_expression "piVar27[5] = piVar27[iVar33 * 3 + 0xb5]" (subscript_expression "piVar27[5]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0xb5]" identifier [ (binary_expression "iVar33 * 3 + 0xb5" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" else (if_statement "if (uStack_74 == 3) {\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }\n              else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" if (parenthesized_expression "(uStack_74 == 3)" ( (binary_expression "uStack_74 == 3" identifier == number_literal) )) (compound_statement "{\n                piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];\n                piVar27[6] = piVar27[iVar33 * 3 + 0xe5];\n              }" { (expression_statement "piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4];" (assignment_expression "piVar27[0x13] = piVar27[iVar33 * 3 + 0xe4]" (subscript_expression "piVar27[0x13]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0xe4]" identifier [ (binary_expression "iVar33 * 3 + 0xe4" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar27[6] = piVar27[iVar33 * 3 + 0xe5];" (assignment_expression "piVar27[6] = piVar27[iVar33 * 3 + 0xe5]" (subscript_expression "piVar27[6]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0xe5]" identifier [ (binary_expression "iVar33 * 3 + 0xe5" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" else (if_statement "if (uStack_74 == 4) {\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }\n              else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" if (parenthesized_expression "(uStack_74 == 4)" ( (binary_expression "uStack_74 == 4" identifier == number_literal) )) (compound_statement "{\n                piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];\n                piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];\n              }" { (expression_statement "piVar27[0x14] = piVar27[iVar33 * 3 + 0x114];" (assignment_expression "piVar27[0x14] = piVar27[iVar33 * 3 + 0x114]" (subscript_expression "piVar27[0x14]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0x114]" identifier [ (binary_expression "iVar33 * 3 + 0x114" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar27[0x16] = piVar27[iVar33 * 3 + 0x115];" (assignment_expression "piVar27[0x16] = piVar27[iVar33 * 3 + 0x115]" (subscript_expression "piVar27[0x16]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0x115]" identifier [ (binary_expression "iVar33 * 3 + 0x115" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" else (if_statement "if (uStack_74 == 5) {\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }\n              else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" if (parenthesized_expression "(uStack_74 == 5)" ( (binary_expression "uStack_74 == 5" identifier == number_literal) )) (compound_statement "{\n                piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];\n                piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];\n              }" { (expression_statement "piVar27[0x15] = piVar27[iVar33 * 3 + 0x144];" (assignment_expression "piVar27[0x15] = piVar27[iVar33 * 3 + 0x144]" (subscript_expression "piVar27[0x15]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0x144]" identifier [ (binary_expression "iVar33 * 3 + 0x144" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar27[0x17] = piVar27[iVar33 * 3 + 0x145];" (assignment_expression "piVar27[0x17] = piVar27[iVar33 * 3 + 0x145]" (subscript_expression "piVar27[0x17]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0x145]" identifier [ (binary_expression "iVar33 * 3 + 0x145" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else {\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" else (compound_statement "{\n                if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];\n              }" { (if_statement "if (uStack_74 != 6) {\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }" if (parenthesized_expression "(uStack_74 != 6)" ( (binary_expression "uStack_74 != 6" identifier != number_literal) )) (compound_statement "{\n                  piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }" { (expression_statement "piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4];" (assignment_expression "piVar27[0x19] = piVar27[iVar33 * 3 + 0x1a4]" (subscript_expression "piVar27[0x19]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0x1a4]" identifier [ (binary_expression "iVar33 * 3 + 0x1a4" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) (goto_statement "goto LAB_000452b4;" goto statement_identifier ;) })) (expression_statement "piVar27[0x18] = piVar27[iVar33 * 3 + 0x174];" (assignment_expression "piVar27[0x18] = piVar27[iVar33 * 3 + 0x174]" (subscript_expression "piVar27[0x18]" identifier [ number_literal ]) = (subscript_expression "piVar27[iVar33 * 3 + 0x174]" identifier [ (binary_expression "iVar33 * 3 + 0x174" (binary_expression "iVar33 * 3" identifier * number_literal) + number_literal) ])) ;) }))))))))))) }) (else_clause "else {\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }" else (compound_statement "{\n              iVar3 = *(int *)(iVar33 + 0x28);\n              piVar27[0x14] = iVar33;\n              piVar27[0x16] = (uint)(iVar3 != 0);\n            }" { (expression_statement "iVar3 = *(int *)(iVar33 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar33 + 0x28)" identifier = (pointer_expression "*(int *)(iVar33 + 0x28)" * (cast_expression "(int *)(iVar33 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x28)" ( (binary_expression "iVar33 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "piVar27[0x14] = iVar33;" (assignment_expression "piVar27[0x14] = iVar33" (subscript_expression "piVar27[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar27[0x16] = (uint)(iVar3 != 0);" (assignment_expression "piVar27[0x16] = (uint)(iVar3 != 0)" (subscript_expression "piVar27[0x16]" identifier [ number_literal ]) = (call_expression "(uint)(iVar3 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )))) ;) }))) }) (else_clause "else {\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }" else (compound_statement "{\n            if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar33 + 0x28);\n            piVar27[0x15] = iVar33;\n            piVar27[0x17] = (uint)(iVar3 != 0);\n          }" { (if_statement "if (((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)) goto LAB_00043b30;" if (parenthesized_expression "(((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0))" ( (binary_expression "((uStack_74 != 5) || (piVar27[0x13] == 0)) ||\n               (iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)" (parenthesized_expression "((uStack_74 != 5) || (piVar27[0x13] == 0))" ( (binary_expression "(uStack_74 != 5) || (piVar27[0x13] == 0)" (parenthesized_expression "(uStack_74 != 5)" ( (binary_expression "uStack_74 != 5" identifier != number_literal) )) || (parenthesized_expression "(piVar27[0x13] == 0)" ( (binary_expression "piVar27[0x13] == 0" (subscript_expression "piVar27[0x13]" identifier [ number_literal ]) == number_literal) ))) )) || (parenthesized_expression "(iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0)" ( (comma_expression "iVar33 = *(int *)(piVar27[0x13] + 0x38), iVar33 == 0" (assignment_expression "iVar33 = *(int *)(piVar27[0x13] + 0x38)" identifier = (pointer_expression "*(int *)(piVar27[0x13] + 0x38)" * (cast_expression "(int *)(piVar27[0x13] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27[0x13] + 0x38)" ( (binary_expression "piVar27[0x13] + 0x38" (subscript_expression "piVar27[0x13]" identifier [ number_literal ]) + number_literal) ))))) , (binary_expression "iVar33 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00043b30;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(iVar33 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar33 + 0x28)" identifier = (pointer_expression "*(int *)(iVar33 + 0x28)" * (cast_expression "(int *)(iVar33 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x28)" ( (binary_expression "iVar33 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "piVar27[0x15] = iVar33;" (assignment_expression "piVar27[0x15] = iVar33" (subscript_expression "piVar27[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar27[0x17] = (uint)(iVar3 != 0);" (assignment_expression "piVar27[0x17] = (uint)(iVar3 != 0)" (subscript_expression "piVar27[0x17]" identifier [ number_literal ]) = (call_expression "(uint)(iVar3 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )))) ;) }))) (expression_statement "uStack_74 = uStack_74 + 1;" (assignment_expression "uStack_74 = uStack_74 + 1" identifier = (binary_expression "uStack_74 + 1" identifier + number_literal)) ;) (expression_statement "piStack_68 = piStack_68 + 0x30;" (assignment_expression "piStack_68 = piStack_68 + 0x30" identifier = (binary_expression "piStack_68 + 0x30" identifier + number_literal)) ;) (expression_statement "uStack_6c = uStack_6c + 1;" (assignment_expression "uStack_6c = uStack_6c + 1" identifier = (binary_expression "uStack_6c + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x59a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x59a8)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x59a8" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }" else (compound_statement "{\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);\n      }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x597c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x597c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x597c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1abc) {\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) goto LAB_00043614;\n      if (0 < inlen) {\nLAB_00045494:\n        *piVar27 = 0x1abc;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nLAB_00043bcc:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar27[4] == 0) goto LAB_000443a0;\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      ssh->frozen = 1;\n      if (ssh->n_uncert_hostkeys < 1) {\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\nLAB_00045b94:\n        ssh_00 = psVar31;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);\n        piVar27[0x50] = iVar3;\n      }\n      else {\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }\n      if (-1 < iVar3) goto FUN_00044370;\n      goto LAB_00043d00;\n    }" if (parenthesized_expression "(iVar3 == 0x1abc)" ( (binary_expression "iVar3 == 0x1abc" identifier == number_literal) )) (compound_statement "{\n      ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n      if (pktin != (Packet *)0x0) goto LAB_00043614;\n      if (0 < inlen) {\nLAB_00045494:\n        *piVar27 = 0x1abc;\n        goto LAB_00042f18;\n      }\n      piVar27[0x50] = ssh->user_response;\nLAB_00043bcc:\n      ssh_00 = (Ssh_conflict)ssh->s;\n      if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }\n      ssh->frozen = 0;\n      if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar27[4] == 0) goto LAB_000443a0;\n      ppsVar18 = ssh->s;\n      if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }\n      ssh->frozen = 1;\n      if (ssh->n_uncert_hostkeys < 1) {\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\nLAB_00045b94:\n        ssh_00 = psVar31;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);\n        piVar27[0x50] = iVar3;\n      }\n      else {\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }\n      if (-1 < iVar3) goto FUN_00044370;\n      goto LAB_00043d00;\n    }" { (expression_statement "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);" (assignment_expression "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(Ssh_conflict *)(in_t9 + 0x6f5bc)" * (cast_expression "(Ssh_conflict *)(in_t9 + 0x6f5bc)" ( (type_descriptor "Ssh_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (if_statement "if (pktin != (Packet *)0x0) goto LAB_00043614;" if (parenthesized_expression "(pktin != (Packet *)0x0)" ( (binary_expression "pktin != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043614;" goto statement_identifier ;)) (if_statement "if (0 < inlen) {\nLAB_00045494:\n        *piVar27 = 0x1abc;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(0 < inlen)" ( (binary_expression "0 < inlen" number_literal < identifier) )) (compound_statement "{\nLAB_00045494:\n        *piVar27 = 0x1abc;\n        goto LAB_00042f18;\n      }" { (labeled_statement "LAB_00045494:\n        *piVar27 = 0x1abc;" statement_identifier : (expression_statement "*piVar27 = 0x1abc;" (assignment_expression "*piVar27 = 0x1abc" (pointer_expression "*piVar27" * identifier) = number_literal) ;)) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "piVar27[0x50] = ssh->user_response;" (assignment_expression "piVar27[0x50] = ssh->user_response" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = (field_expression "ssh->user_response" identifier -> field_identifier)) ;) (labeled_statement "LAB_00043bcc:\n      ssh_00 = (Ssh_conflict)ssh->s;" statement_identifier : (expression_statement "ssh_00 = (Ssh_conflict)ssh->s;" (assignment_expression "ssh_00 = (Ssh_conflict)ssh->s" identifier = (cast_expression "(Ssh_conflict)ssh->s" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->s" identifier -> field_identifier))) ;)) (if_statement "if (ssh_00 != (Ssh_conflict)0x0) {\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }" if (parenthesized_expression "(ssh_00 != (Ssh_conflict)0x0)" ( (binary_expression "ssh_00 != (Ssh_conflict)0x0" identifier != (cast_expression "(Ssh_conflict)0x0" ( (type_descriptor "Ssh_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n        (*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);\n      }" { (expression_statement "(*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26);" (call_expression "(*ssh_00->fn[1].closing)((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26)" (parenthesized_expression "(*ssh_00->fn[1].closing)" ( (pointer_expression "*ssh_00->fn[1].closing" * (field_expression "ssh_00->fn[1].closing" (subscript_expression "ssh_00->fn[1]" (field_expression "ssh_00->fn" identifier -> field_identifier) [ number_literal ]) . field_identifier)) )) (argument_list "((Plug)ssh_00,(char *)0x0,inlen,(int)pPVar26)" ( (cast_expression "(Plug)ssh_00" ( (type_descriptor "Plug" type_identifier) ) identifier) , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "ssh->frozen = 0;" (assignment_expression "ssh->frozen = 0" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (if_statement "if (piVar27[0x50] == 0) {\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);\n        goto LAB_00045800;\n      }" if (parenthesized_expression "(piVar27[0x50] == 0)" ( (binary_expression "piVar27[0x50] == 0" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);\n        goto LAB_00045800;\n      }" { (expression_statement "pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80);" (assignment_expression "pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80)" identifier = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5a80)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5a80)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5a80" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00045800;" goto statement_identifier ;) })) (labeled_statement "LAB_00043bfc:\n      if (piVar27[4] == 0) goto LAB_000443a0;" statement_identifier : (if_statement "if (piVar27[4] == 0) goto LAB_000443a0;" if (parenthesized_expression "(piVar27[4] == 0)" ( (binary_expression "piVar27[4] == 0" (subscript_expression "piVar27[4]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000443a0;" goto statement_identifier ;))) (expression_statement "ppsVar18 = ssh->s;" (assignment_expression "ppsVar18 = ssh->s" identifier = (field_expression "ssh->s" identifier -> field_identifier)) ;) (if_statement "if (ppsVar18 != (Socket)0x0) {\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }" if (parenthesized_expression "(ppsVar18 != (Socket)0x0)" ( (binary_expression "ppsVar18 != (Socket)0x0" identifier != (cast_expression "(Socket)0x0" ( (type_descriptor "Socket" type_identifier) ) number_literal)) )) (compound_statement "{\n        (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n      }" { (expression_statement "(*(*ppsVar18)->set_frozen)(ppsVar18,1);" (call_expression "(*(*ppsVar18)->set_frozen)(ppsVar18,1)" (parenthesized_expression "(*(*ppsVar18)->set_frozen)" ( (pointer_expression "*(*ppsVar18)->set_frozen" * (field_expression "(*ppsVar18)->set_frozen" (parenthesized_expression "(*ppsVar18)" ( (pointer_expression "*ppsVar18" * identifier) )) -> field_identifier)) )) (argument_list "(ppsVar18,1)" ( identifier , number_literal ))) ;) })) (expression_statement "ssh->frozen = 1;" (assignment_expression "ssh->frozen = 1" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (if_statement "if (ssh->n_uncert_hostkeys < 1) {\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\nLAB_00045b94:\n        ssh_00 = psVar31;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);\n        piVar27[0x50] = iVar3;\n      }\n      else {\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }" if (parenthesized_expression "(ssh->n_uncert_hostkeys < 1)" ( (binary_expression "ssh->n_uncert_hostkeys < 1" (field_expression "ssh->n_uncert_hostkeys" identifier -> field_identifier) < number_literal) )) (compound_statement "{\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\nLAB_00045b94:\n        ssh_00 = psVar31;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);\n        piVar27[0x50] = iVar3;\n      }" { (expression_statement "inlen = (int)ssh->hostkey->name;" (assignment_expression "inlen = (int)ssh->hostkey->name" identifier = (cast_expression "(int)ssh->hostkey->name" ( (type_descriptor "int" primitive_type) ) (field_expression "ssh->hostkey->name" (field_expression "ssh->hostkey" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "psVar31 = (Ssh_conflict)ssh->frontend;" (assignment_expression "psVar31 = (Ssh_conflict)ssh->frontend" identifier = (cast_expression "(Ssh_conflict)ssh->frontend" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->frontend" identifier -> field_identifier))) ;) (labeled_statement "LAB_00045b94:\n        ssh_00 = psVar31;" statement_identifier : (expression_statement "ssh_00 = psVar31;" (assignment_expression "ssh_00 = psVar31" identifier = identifier) ;)) (expression_statement "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);" (assignment_expression "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" identifier = (cast_expression "(Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (binary_expression "*(int *)(in_t9 + 0x6fb0c) + -0xf58" (pointer_expression "*(int *)(in_t9 + 0x6fb0c)" * (cast_expression "(int *)(in_t9 + 0x6fb0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6fb0c)" ( (binary_expression "in_t9 + 0x6fb0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh);" (assignment_expression "iVar3 = (**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh)" identifier = (call_expression "(**(code **)(in_t9 + 0x6fb88))\n                          (ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh)" (parenthesized_expression "(**(code **)(in_t9 + 0x6fb88))" ( (pointer_expression "**(code **)(in_t9 + 0x6fb88)" * (pointer_expression "*(code **)(in_t9 + 0x6fb88)" * (cast_expression "(code **)(in_t9 + 0x6fb88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fb88)" ( (binary_expression "in_t9 + 0x6fb88" identifier + number_literal) ))))) )) (argument_list "(ssh_00,*(int *)(in_t9 + 0x6f5bc) + 0x5a9c,inlen,pPVar26,ssh)" ( identifier , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5a9c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "piVar27[0x50] = iVar3;" (assignment_expression "piVar27[0x50] = iVar3" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }" else (compound_statement "{\n        iVar32 = *(int *)(in_t9 + 0x6f5ac);\n        piVar20 = ssh->uncert_hostkeys;\n        iVar39 = *(int *)(in_t9 + 0x6f5bc);\n        iVar3 = 0;\n        psVar31 = (Ssh_conflict)0x0;\n        do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);\n        inlen = (int)ssh->hostkey->name;\n        psVar31 = (Ssh_conflict)ssh->frontend;\n        if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;\n        pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);\n        inlen = (int)ssh_00;\n        iVar3 = (**(code **)(in_t9 + 0x6fb90))();\n        pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n        piVar27[0x50] = iVar3;\n        (*pcVar37)();\n        iVar3 = piVar27[0x50];\n      }" { (expression_statement "iVar32 = *(int *)(in_t9 + 0x6f5ac);" (assignment_expression "iVar32 = *(int *)(in_t9 + 0x6f5ac)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6f5ac)" * (cast_expression "(int *)(in_t9 + 0x6f5ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5ac)" ( (binary_expression "in_t9 + 0x6f5ac" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = ssh->uncert_hostkeys;" (assignment_expression "piVar20 = ssh->uncert_hostkeys" identifier = (field_expression "ssh->uncert_hostkeys" identifier -> field_identifier)) ;) (expression_statement "iVar39 = *(int *)(in_t9 + 0x6f5bc);" (assignment_expression "iVar39 = *(int *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "psVar31 = (Ssh_conflict)0x0;" (assignment_expression "psVar31 = (Ssh_conflict)0x0" identifier = (cast_expression "(Ssh_conflict)0x0" ( (type_descriptor "Ssh_conflict" type_identifier) ) number_literal)) ;) (do_statement "do {\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        } while (iVar3 < ssh->n_uncert_hostkeys);" do (compound_statement "{\n          iVar33 = 0;\n          piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);\n          pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n          while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar20 = piVar20 + 1;\n          psVar31 = ssh_00;\n        }" { (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) (expression_statement "piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8);" (assignment_expression "piVar40 = (int *)(iVar32 + 0x1ed8 + *piVar20 * 8)" identifier = (cast_expression "(int *)(iVar32 + 0x1ed8 + *piVar20 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + 0x1ed8 + *piVar20 * 8)" ( (binary_expression "iVar32 + 0x1ed8 + *piVar20 * 8" (binary_expression "iVar32 + 0x1ed8" identifier + number_literal) + (binary_expression "*piVar20 * 8" (pointer_expression "*piVar20" * identifier) * number_literal)) )))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f9d8);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f9d8)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f9d8)" * (cast_expression "(code **)(in_t9 + 0x6f9d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f9d8)" ( (binary_expression "in_t9 + 0x6f9d8" identifier + number_literal) ))))) ;) (while_statement "while (iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0) {\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }" while (parenthesized_expression "(iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0)" ( (comma_expression "iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33), ssh_00 = psVar31, iVar8 != 0" (assignment_expression "iVar8 = (*pcVar37)(ssh->conf,0x19,iVar33)" identifier = (call_expression "(*pcVar37)(ssh->conf,0x19,iVar33)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(ssh->conf,0x19,iVar33)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal , identifier )))) , (comma_expression "ssh_00 = psVar31, iVar8 != 0" (assignment_expression "ssh_00 = psVar31" identifier = identifier) , (binary_expression "iVar8 != 0" identifier != number_literal))) )) (compound_statement "{\n            iVar33 = iVar33 + 1;\n            if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }\n            pcVar37 = *(code **)(in_t9 + 0x6f9d8);\n            if (iVar33 == 5) break;\n          }" { (expression_statement "iVar33 = iVar33 + 1;" (assignment_expression "iVar33 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) (if_statement "if (piVar40[1] == iVar8) {\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }" if (parenthesized_expression "(piVar40[1] == iVar8)" ( (binary_expression "piVar40[1] == iVar8" (subscript_expression "piVar40[1]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n              uVar11 = *(undefined4 *)(*piVar40 + 0x30);\n              if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }\n              break;\n            }" { (expression_statement "uVar11 = *(undefined4 *)(*piVar40 + 0x30);" (assignment_expression "uVar11 = *(undefined4 *)(*piVar40 + 0x30)" identifier = (pointer_expression "*(undefined4 *)(*piVar40 + 0x30)" * (cast_expression "(undefined4 *)(*piVar40 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar40 + 0x30)" ( (binary_expression "*piVar40 + 0x30" (pointer_expression "*piVar40" * identifier) + number_literal) ))))) ;) (if_statement "if (psVar31 == (Ssh_conflict)0x0) {\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }\n              else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }" if (parenthesized_expression "(psVar31 == (Ssh_conflict)0x0)" ( (binary_expression "psVar31 == (Ssh_conflict)0x0" identifier == (cast_expression "(Ssh_conflict)0x0" ( (type_descriptor "Ssh_conflict" type_identifier) ) number_literal)) )) (compound_statement "{\n                ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);\n              }" { (expression_statement "ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11);" (assignment_expression "ssh_00 = (Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11)" identifier = (call_expression "(Ssh_conflict)(**(code **)(in_t9 + 0x6f624))(uVar11)" (call_expression "(Ssh_conflict)(**(code **)(in_t9 + 0x6f624))" (parenthesized_expression "(Ssh_conflict)" ( identifier )) (argument_list "(**(code **)(in_t9 + 0x6f624))" ( (pointer_expression "**(code **)(in_t9 + 0x6f624)" * (pointer_expression "*(code **)(in_t9 + 0x6f624)" * (cast_expression "(code **)(in_t9 + 0x6f624)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f624)" ( (binary_expression "in_t9 + 0x6f624" identifier + number_literal) ))))) ))) (argument_list "(uVar11)" ( identifier )))) ;) }) (else_clause "else {\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }" else (compound_statement "{\n                ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);\n                (**(code **)(in_t9 + 0x6f5e4))(psVar31);\n              }" { (expression_statement "ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0);" (assignment_expression "ssh_00 = (Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0)" identifier = (call_expression "(Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))(psVar31,iVar39 + 0x470,uVar11,0)" (call_expression "(Ssh_conflict)\n                         (**(code **)(in_t9 + 0x6f628))" (parenthesized_expression "(Ssh_conflict)" ( identifier )) (argument_list "(**(code **)(in_t9 + 0x6f628))" ( (pointer_expression "**(code **)(in_t9 + 0x6f628)" * (pointer_expression "*(code **)(in_t9 + 0x6f628)" * (cast_expression "(code **)(in_t9 + 0x6f628)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f628)" ( (binary_expression "in_t9 + 0x6f628" identifier + number_literal) ))))) ))) (argument_list "(psVar31,iVar39 + 0x470,uVar11,0)" ( identifier , (binary_expression "iVar39 + 0x470" identifier + number_literal) , identifier , number_literal )))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(psVar31);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(psVar31)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(psVar31)" ( identifier ))) ;) }))) (break_statement "break;" break ;) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f9d8);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f9d8)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f9d8)" * (cast_expression "(code **)(in_t9 + 0x6f9d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f9d8)" ( (binary_expression "in_t9 + 0x6f9d8" identifier + number_literal) ))))) ;) (if_statement "if (iVar33 == 5) break;" if (parenthesized_expression "(iVar33 == 5)" ( (binary_expression "iVar33 == 5" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar20 = piVar20 + 1;" (assignment_expression "piVar20 = piVar20 + 1" identifier = (binary_expression "piVar20 + 1" identifier + number_literal)) ;) (expression_statement "psVar31 = ssh_00;" (assignment_expression "psVar31 = ssh_00" identifier = identifier) ;) }) while (parenthesized_expression "(iVar3 < ssh->n_uncert_hostkeys)" ( (binary_expression "iVar3 < ssh->n_uncert_hostkeys" identifier < (field_expression "ssh->n_uncert_hostkeys" identifier -> field_identifier)) )) ;) (expression_statement "inlen = (int)ssh->hostkey->name;" (assignment_expression "inlen = (int)ssh->hostkey->name" identifier = (cast_expression "(int)ssh->hostkey->name" ( (type_descriptor "int" primitive_type) ) (field_expression "ssh->hostkey->name" (field_expression "ssh->hostkey" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "psVar31 = (Ssh_conflict)ssh->frontend;" (assignment_expression "psVar31 = (Ssh_conflict)ssh->frontend" identifier = (cast_expression "(Ssh_conflict)ssh->frontend" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->frontend" identifier -> field_identifier))) ;) (if_statement "if (ssh_00 == (Ssh_conflict)0x0) goto LAB_00045b94;" if (parenthesized_expression "(ssh_00 == (Ssh_conflict)0x0)" ( (binary_expression "ssh_00 == (Ssh_conflict)0x0" identifier == (cast_expression "(Ssh_conflict)0x0" ( (type_descriptor "Ssh_conflict" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00045b94;" goto statement_identifier ;)) (expression_statement "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58);" (assignment_expression "pPVar26 = (Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" identifier = (cast_expression "(Packet *)(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6fb0c) + -0xf58)" ( (binary_expression "*(int *)(in_t9 + 0x6fb0c) + -0xf58" (pointer_expression "*(int *)(in_t9 + 0x6fb0c)" * (cast_expression "(int *)(in_t9 + 0x6fb0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6fb0c)" ( (binary_expression "in_t9 + 0x6fb0c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "inlen = (int)ssh_00;" (assignment_expression "inlen = (int)ssh_00" identifier = (cast_expression "(int)ssh_00" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar3 = (**(code **)(in_t9 + 0x6fb90))();" (assignment_expression "iVar3 = (**(code **)(in_t9 + 0x6fb90))()" identifier = (call_expression "(**(code **)(in_t9 + 0x6fb90))()" (parenthesized_expression "(**(code **)(in_t9 + 0x6fb90))" ( (pointer_expression "**(code **)(in_t9 + 0x6fb90)" * (pointer_expression "*(code **)(in_t9 + 0x6fb90)" * (cast_expression "(code **)(in_t9 + 0x6fb90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fb90)" ( (binary_expression "in_t9 + 0x6fb90" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f5e4);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f5e4)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) ;) (expression_statement "piVar27[0x50] = iVar3;" (assignment_expression "piVar27[0x50] = iVar3" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = piVar27[0x50];" (assignment_expression "iVar3 = piVar27[0x50]" identifier = (subscript_expression "piVar27[0x50]" identifier [ number_literal ])) ;) }))) (if_statement "if (-1 < iVar3) goto FUN_00044370;" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (goto_statement "goto FUN_00044370;" goto statement_identifier ;)) (goto_statement "goto LAB_00043d00;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0) {\n      uVar14 = ssh->remote_bugs;\n      piVar27[0x13] = 0;\n      piVar27[0x12] = 0;\n      piVar27[0x15] = 0;\n      piVar27[0x14] = 0;\n      piVar27[0x19] = 0;\n      piVar27[0x18] = 0;\n      piVar27[0x4e] = 0;\n      piVar27[0x4d] = 0;\n      piVar27[0x4b] = 0;\n      piVar27[0x4c] = 0;\n      if ((uVar14 & 2) == 0) {\n        piVar27[0x11] = 4;\n        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;\n        FUN_000448a0();\n        return;\n      }\n      piVar27[0x11] = 3;\n      piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc;\n      FUN_000448a0();\n      return;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar14 = ssh->remote_bugs;\n      piVar27[0x13] = 0;\n      piVar27[0x12] = 0;\n      piVar27[0x15] = 0;\n      piVar27[0x14] = 0;\n      piVar27[0x19] = 0;\n      piVar27[0x18] = 0;\n      piVar27[0x4e] = 0;\n      piVar27[0x4d] = 0;\n      piVar27[0x4b] = 0;\n      piVar27[0x4c] = 0;\n      if ((uVar14 & 2) == 0) {\n        piVar27[0x11] = 4;\n        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;\n        FUN_000448a0();\n        return;\n      }\n      piVar27[0x11] = 3;\n      piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc;\n      FUN_000448a0();\n      return;\n    }" { (expression_statement "uVar14 = ssh->remote_bugs;" (assignment_expression "uVar14 = ssh->remote_bugs" identifier = (field_expression "ssh->remote_bugs" identifier -> field_identifier)) ;) (expression_statement "piVar27[0x13] = 0;" (assignment_expression "piVar27[0x13] = 0" (subscript_expression "piVar27[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x12] = 0;" (assignment_expression "piVar27[0x12] = 0" (subscript_expression "piVar27[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x15] = 0;" (assignment_expression "piVar27[0x15] = 0" (subscript_expression "piVar27[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x14] = 0;" (assignment_expression "piVar27[0x14] = 0" (subscript_expression "piVar27[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x19] = 0;" (assignment_expression "piVar27[0x19] = 0" (subscript_expression "piVar27[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x18] = 0;" (assignment_expression "piVar27[0x18] = 0" (subscript_expression "piVar27[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x4e] = 0;" (assignment_expression "piVar27[0x4e] = 0" (subscript_expression "piVar27[0x4e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x4d] = 0;" (assignment_expression "piVar27[0x4d] = 0" (subscript_expression "piVar27[0x4d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x4b] = 0;" (assignment_expression "piVar27[0x4b] = 0" (subscript_expression "piVar27[0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x4c] = 0;" (assignment_expression "piVar27[0x4c] = 0" (subscript_expression "piVar27[0x4c]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((uVar14 & 2) == 0) {\n        piVar27[0x11] = 4;\n        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;\n        FUN_000448a0();\n        return;\n      }" if (parenthesized_expression "((uVar14 & 2) == 0)" ( (binary_expression "(uVar14 & 2) == 0" (parenthesized_expression "(uVar14 & 2)" ( (binary_expression "uVar14 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        piVar27[0x11] = 4;\n        piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;\n        FUN_000448a0();\n        return;\n      }" { (expression_statement "piVar27[0x11] = 4;" (assignment_expression "piVar27[0x11] = 4" (subscript_expression "piVar27[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8;" (assignment_expression "piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ec8" (subscript_expression "piVar27[0x10]" identifier [ number_literal ]) = (binary_expression "*(int *)(in_t9 + 0x6f5ac) + 0x1ec8" (pointer_expression "*(int *)(in_t9 + 0x6f5ac)" * (cast_expression "(int *)(in_t9 + 0x6f5ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5ac)" ( (binary_expression "in_t9 + 0x6f5ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "FUN_000448a0();" (call_expression "FUN_000448a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar27[0x11] = 3;" (assignment_expression "piVar27[0x11] = 3" (subscript_expression "piVar27[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc;" (assignment_expression "piVar27[0x10] = *(int *)(in_t9 + 0x6f5ac) + 0x1ebc" (subscript_expression "piVar27[0x10]" identifier [ number_literal ]) = (binary_expression "*(int *)(in_t9 + 0x6f5ac) + 0x1ebc" (pointer_expression "*(int *)(in_t9 + 0x6f5ac)" * (cast_expression "(int *)(in_t9 + 0x6f5ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5ac)" ( (binary_expression "in_t9 + 0x6f5ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "FUN_000448a0();" (call_expression "FUN_000448a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1c91) {\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1c91;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x20) {\n      ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20);\n      if (piVar27[0x1b] == 0) {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);\n      }\n      else {\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }\n    }\n    else {\n      (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);\n    }\n    goto LAB_0004361c;\n  }" if (parenthesized_expression "(iVar3 == 0x1c91)" ( (binary_expression "iVar3 == 0x1c91" identifier == number_literal) )) (compound_statement "{\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1c91;\n      goto LAB_00042f18;\n    }\n    if (pktin->type == 0x20) {\n      ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20);\n      if (piVar27[0x1b] == 0) {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);\n      }\n      else {\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }\n    }\n    else {\n      (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);\n    }\n    goto LAB_0004361c;\n  }" { (if_statement "if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1c91;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(pktin == (Packet *)0x0)" ( (binary_expression "pktin == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar27 = 0x1c91;\n      goto LAB_00042f18;\n    }" { (expression_statement "*piVar27 = 0x1c91;" (assignment_expression "*piVar27 = 0x1c91" (pointer_expression "*piVar27" * identifier) = number_literal) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (pktin->type == 0x20) {\n      ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20);\n      if (piVar27[0x1b] == 0) {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);\n      }\n      else {\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }\n    }\n    else {\n      (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);\n    }" if (parenthesized_expression "(pktin->type == 0x20)" ( (binary_expression "pktin->type == 0x20" (field_expression "pktin->type" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20);\n      if (piVar27[0x1b] == 0) {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);\n      }\n      else {\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }\n    }" { (expression_statement "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20);" (call_expression "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20)" identifier (argument_list "(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20)" ( identifier , (cast_expression "(char **)(piVar27 + 0x1b)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar27 + 0x1b)" ( (binary_expression "piVar27 + 0x1b" identifier + number_literal) ))) , (binary_expression "piVar27 + 0x20" identifier + number_literal) ))) ;) (if_statement "if (piVar27[0x1b] == 0) {\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);\n      }\n      else {\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }" if (parenthesized_expression "(piVar27[0x1b] == 0)" ( (binary_expression "piVar27[0x1b] == 0" (subscript_expression "piVar27[0x1b]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);\n      }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5ea4)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5ea4" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }" else (compound_statement "{\n        (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\nLAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);\n        psVar16 = ssh->kex->hash;\n        if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        (*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));\n        pvVar13 = (void *)piVar27[0x22];\n        ssh->kex_ctx = (void *)0x0;\n        if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }\n      }" { (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c])" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(piVar27[0x1c])" ( (subscript_expression "piVar27[0x1c]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_0004446c:\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);" statement_identifier : (expression_statement "hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb]);" (call_expression "hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb])" identifier (argument_list "(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[0xb])" ( (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(Bignum)piVar27[0xb]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) ))) ;)) (expression_statement "psVar16 = ssh->kex->hash;" (assignment_expression "psVar16 = ssh->kex->hash" identifier = (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (0x40 < (uint)psVar16->hlen) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }" if (parenthesized_expression "(0x40 < (uint)psVar16->hlen)" ( (binary_expression "0x40 < (uint)psVar16->hlen" number_literal < (cast_expression "(uint)psVar16->hlen" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar16->hlen" identifier -> field_identifier))) )) (compound_statement "{\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }" { (expression_statement "(**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);" (call_expression "(**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" (parenthesized_expression "(**(code **)(in_t9 + 0x6ff40))" ( (pointer_expression "**(code **)(in_t9 + 0x6ff40)" * (pointer_expression "*(code **)(in_t9 + 0x6ff40)" * (cast_expression "(code **)(in_t9 + 0x6ff40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6ff40)" ( (binary_expression "in_t9 + 0x6ff40" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x6f5bc) + 0x5ec8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1ca2,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5ec8" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x35c0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x7e6c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25));" (call_expression "(*psVar16->final)(ssh->exhash,(uchar *)(piVar27 + 0x25))" (parenthesized_expression "(*psVar16->final)" ( (pointer_expression "*psVar16->final" * (field_expression "psVar16->final" identifier -> field_identifier)) )) (argument_list "(ssh->exhash,(uchar *)(piVar27 + 0x25))" ( (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(uchar *)(piVar27 + 0x25)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 0x25)" ( (binary_expression "piVar27 + 0x25" identifier + number_literal) ))) ))) ;) (expression_statement "pvVar13 = (void *)piVar27[0x22];" (assignment_expression "pvVar13 = (void *)piVar27[0x22]" identifier = (cast_expression "(void *)piVar27[0x22]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x22]" identifier [ number_literal ]))) ;) (expression_statement "ssh->kex_ctx = (void *)0x0;" (assignment_expression "ssh->kex_ctx = (void *)0x0" (field_expression "ssh->kex_ctx" identifier -> field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pvVar13 == (void *)0x0) {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }\n        else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }" if (parenthesized_expression "(pvVar13 == (void *)0x0)" ( (binary_expression "pvVar13 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);\n        }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5efc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5efc)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5efc" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }" else (compound_statement "{\n          iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);\n          if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);\n        }" { (expression_statement "iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen);" (assignment_expression "iVar15 = (*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen)" identifier = (call_expression "(*ssh->hostkey->verifysig)\n                             (pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen)" (parenthesized_expression "(*ssh->hostkey->verifysig)" ( (pointer_expression "*ssh->hostkey->verifysig" * (field_expression "ssh->hostkey->verifysig" (field_expression "ssh->hostkey" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pvVar13,(char *)piVar27[0x1b],piVar27[0x20],(char *)(piVar27 + 0x25),\n                              ssh->kex->hash->hlen)" ( identifier , (cast_expression "(char *)piVar27[0x1b]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1b]" identifier [ number_literal ])) , (subscript_expression "piVar27[0x20]" identifier [ number_literal ]) , (cast_expression "(char *)(piVar27 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 0x25)" ( (binary_expression "piVar27 + 0x25" identifier + number_literal) ))) , (field_expression "ssh->kex->hash->hlen" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier) )))) ;) (if_statement "if (iVar15 != 0) {\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n            pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);\n            piVar27[0x1d] = (int)pcVar24;\n            if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }\n            if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }\n            iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);\n            if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }\n            (**(code **)(in_t9 + 0x6f5e4))(pcVar24);\n            psVar17 = ssh->hostkey;\n            goto LAB_000430dc;\n          }" { (expression_statement "pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22]);" (assignment_expression "pcVar24 = (*ssh->hostkey->fmtkey)((void *)piVar27[0x22])" identifier = (call_expression "(*ssh->hostkey->fmtkey)((void *)piVar27[0x22])" (parenthesized_expression "(*ssh->hostkey->fmtkey)" ( (pointer_expression "*ssh->hostkey->fmtkey" * (field_expression "ssh->hostkey->fmtkey" (field_expression "ssh->hostkey" identifier -> field_identifier) -> field_identifier)) )) (argument_list "((void *)piVar27[0x22])" ( (cast_expression "(void *)piVar27[0x22]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x22]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar27[0x1d] = (int)pcVar24;" (assignment_expression "piVar27[0x1d] = (int)pcVar24" (subscript_expression "piVar27[0x1d]" identifier [ number_literal ]) = (cast_expression "(int)pcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (piVar27[0x4d] == 0) {\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }" if (parenthesized_expression "(piVar27[0x4d] == 0)" ( (binary_expression "piVar27[0x4d] == 0" (subscript_expression "piVar27[0x4d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              iVar3 = 0;\n              iVar32 = *(int *)(in_t9 + 0x6f604);\n              iVar39 = 0;\n              iVar22 = *(int *)(in_t9 + 0x6f5bc);\n              iVar15 = 0;\n              psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);\n              puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);\n              do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );\n            }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "iVar32 = *(int *)(in_t9 + 0x6f604);" (assignment_expression "iVar32 = *(int *)(in_t9 + 0x6f604)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6f604)" * (cast_expression "(int *)(in_t9 + 0x6f604)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f604)" ( (binary_expression "in_t9 + 0x6f604" identifier + number_literal) ))))) ;) (expression_statement "iVar39 = 0;" (assignment_expression "iVar39 = 0" identifier = number_literal) ;) (expression_statement "iVar22 = *(int *)(in_t9 + 0x6f5bc);" (assignment_expression "iVar22 = *(int *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0);" (assignment_expression "psVar17 = *(ssh_signkey **)(in_t9 + 0x6fbc0)" identifier = (pointer_expression "*(ssh_signkey **)(in_t9 + 0x6fbc0)" * (cast_expression "(ssh_signkey **)(in_t9 + 0x6fbc0)" ( (type_descriptor "ssh_signkey **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fbc0)" ( (binary_expression "in_t9 + 0x6fbc0" identifier + number_literal) ))))) ;) (expression_statement "puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8);" (assignment_expression "puVar30 = (undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8)" identifier = (cast_expression "(undefined4 *)(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5ac) + 0x1ed8)" ( (binary_expression "*(int *)(in_t9 + 0x6f5ac) + 0x1ed8" (pointer_expression "*(int *)(in_t9 + 0x6f5ac)" * (cast_expression "(int *)(in_t9 + 0x6f5ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5ac)" ( (binary_expression "in_t9 + 0x6f5ac" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              } while( true );" do (compound_statement "{\n                if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }\nLAB_00044588:\n                iVar39 = iVar39 + 1;\n                puVar30 = puVar30 + 2;\n                if (iVar39 == 6) goto LAB_000456a8;\n                psVar17 = (ssh_signkey *)*puVar30;\n              }" { (if_statement "if ((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)) {\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }" if (parenthesized_expression "((ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys))" ( (binary_expression "(ssh->hostkey != psVar17) && (0 < ssh->n_uncert_hostkeys)" (parenthesized_expression "(ssh->hostkey != psVar17)" ( (binary_expression "ssh->hostkey != psVar17" (field_expression "ssh->hostkey" identifier -> field_identifier) != identifier) )) && (parenthesized_expression "(0 < ssh->n_uncert_hostkeys)" ( (binary_expression "0 < ssh->n_uncert_hostkeys" number_literal < (field_expression "ssh->n_uncert_hostkeys" identifier -> field_identifier)) ))) )) (compound_statement "{\n                  piVar20 = ssh->uncert_hostkeys;\n                  if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }\n                  if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }\n                  iVar3 = iVar3 + 1;\n                  (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n                  iVar15 = iVar33;\n                }" { (expression_statement "piVar20 = ssh->uncert_hostkeys;" (assignment_expression "piVar20 = ssh->uncert_hostkeys" identifier = (field_expression "ssh->uncert_hostkeys" identifier -> field_identifier)) ;) (if_statement "if (iVar39 != ssh->uncert_hostkeys[0]) {\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }" if (parenthesized_expression "(iVar39 != ssh->uncert_hostkeys[0])" ( (binary_expression "iVar39 != ssh->uncert_hostkeys[0]" identifier != (subscript_expression "ssh->uncert_hostkeys[0]" (field_expression "ssh->uncert_hostkeys" identifier -> field_identifier) [ number_literal ])) )) (compound_statement "{\n                    iVar33 = 0;\n                    do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);\n                  }" { (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) (do_statement "do {\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    } while (*piVar20 != iVar39);" do (compound_statement "{\n                      piVar20 = piVar20 + 1;\n                      iVar33 = iVar33 + 1;\n                      if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;\n                    }" { (expression_statement "piVar20 = piVar20 + 1;" (assignment_expression "piVar20 = piVar20 + 1" identifier = (binary_expression "piVar20 + 1" identifier + number_literal)) ;) (expression_statement "iVar33 = iVar33 + 1;" (assignment_expression "iVar33 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) (if_statement "if (iVar33 == ssh->n_uncert_hostkeys) goto LAB_00044588;" if (parenthesized_expression "(iVar33 == ssh->n_uncert_hostkeys)" ( (binary_expression "iVar33 == ssh->n_uncert_hostkeys" identifier == (field_expression "ssh->n_uncert_hostkeys" identifier -> field_identifier)) )) (goto_statement "goto LAB_00044588;" goto statement_identifier ;)) }) while (parenthesized_expression "(*piVar20 != iVar39)" ( (binary_expression "*piVar20 != iVar39" (pointer_expression "*piVar20" * identifier) != identifier) )) ;) })) (if_statement "if (iVar15 == 0) {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }\n                  else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);\n                  }" { (expression_statement "iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0);" (assignment_expression "iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0)" identifier = (call_expression "(**(code **)(in_t9 + 0x6f618))(iVar32 + 0x3a0)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f618))" ( (pointer_expression "**(code **)(in_t9 + 0x6f618)" * (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) )) (argument_list "(iVar32 + 0x3a0)" ( (binary_expression "iVar32 + 0x3a0" identifier + number_literal) )))) ;) }) (else_clause "else {\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }" else (compound_statement "{\n                    iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);\n                  }" { (expression_statement "iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name);" (assignment_expression "iVar33 = (**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name)" identifier = (call_expression "(**(code **)(in_t9 + 0x6f618))(iVar22 + 0x5f54,iVar15,psVar17->name)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f618))" ( (pointer_expression "**(code **)(in_t9 + 0x6f618)" * (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) )) (argument_list "(iVar22 + 0x5f54,iVar15,psVar17->name)" ( (binary_expression "iVar22 + 0x5f54" identifier + number_literal) , identifier , (field_expression "psVar17->name" identifier -> field_identifier) )))) ;) }))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(iVar15);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(iVar15)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(iVar15)" ( identifier ))) ;) (expression_statement "iVar15 = iVar33;" (assignment_expression "iVar15 = iVar33" identifier = identifier) ;) })) (labeled_statement "LAB_00044588:\n                iVar39 = iVar39 + 1;" statement_identifier : (expression_statement "iVar39 = iVar39 + 1;" (assignment_expression "iVar39 = iVar39 + 1" identifier = (binary_expression "iVar39 + 1" identifier + number_literal)) ;)) (expression_statement "puVar30 = puVar30 + 2;" (assignment_expression "puVar30 = puVar30 + 2" identifier = (binary_expression "puVar30 + 2" identifier + number_literal)) ;) (if_statement "if (iVar39 == 6) goto LAB_000456a8;" if (parenthesized_expression "(iVar39 == 6)" ( (binary_expression "iVar39 == 6" identifier == number_literal) )) (goto_statement "goto LAB_000456a8;" goto statement_identifier ;)) (expression_statement "psVar17 = (ssh_signkey *)*puVar30;" (assignment_expression "psVar17 = (ssh_signkey *)*puVar30" identifier = (cast_expression "(ssh_signkey *)*puVar30" ( (type_descriptor "ssh_signkey *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar30" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (ssh->cross_certifying != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }" if (parenthesized_expression "(ssh->cross_certifying != 0)" ( (binary_expression "ssh->cross_certifying != 0" (field_expression "ssh->cross_certifying" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n              iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);\n              pvVar13 = ssh->frontend;\n              piVar27[0x1e] = iVar15;\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);\n              (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);\n              (**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);\n              pcVar24 = (char *)piVar27[0x1d];\n              ssh->cross_certifying = 0;\n              ssh->hostkey_str = pcVar24;\n              goto LAB_000430d8;\n            }" { (expression_statement "iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);" (assignment_expression "iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22])" identifier = (call_expression "(**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22])" (parenthesized_expression "(**(code **)(in_t9 + 0x6fc0c))" ( (pointer_expression "**(code **)(in_t9 + 0x6fc0c)" * (pointer_expression "*(code **)(in_t9 + 0x6fc0c)" * (cast_expression "(code **)(in_t9 + 0x6fc0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fc0c)" ( (binary_expression "in_t9 + 0x6fc0c" identifier + number_literal) ))))) )) (argument_list "(ssh->hostkey,piVar27[0x22])" ( (field_expression "ssh->hostkey" identifier -> field_identifier) , (subscript_expression "piVar27[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "pvVar13 = ssh->frontend;" (assignment_expression "pvVar13 = ssh->frontend" identifier = (field_expression "ssh->frontend" identifier -> field_identifier)) ;) (expression_statement "piVar27[0x1e] = iVar15;" (assignment_expression "piVar27[0x1e] = iVar15" (subscript_expression "piVar27[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c);" (call_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                        (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c)" (parenthesized_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))" ( (pointer_expression "**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (pointer_expression "*(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (cast_expression "(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (binary_expression "random_add_heavynoise_bitbybit + in_t9 + 4" (binary_expression "random_add_heavynoise_bitbybit + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x604c)" ( identifier , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x604c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])\n              ;" (call_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])" (parenthesized_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))" ( (pointer_expression "**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (pointer_expression "*(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (cast_expression "(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (binary_expression "random_add_heavynoise_bitbybit + in_t9 + 4" (binary_expression "random_add_heavynoise_bitbybit + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(ssh->frontend,piVar27[0x1e])" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (subscript_expression "piVar27[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e]);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1e])" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(piVar27[0x1e])" ( (subscript_expression "piVar27[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d]);" (call_expression "(**(code **)(in_t9 + 0x6fc1c))\n                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d])" (parenthesized_expression "(**(code **)(in_t9 + 0x6fc1c))" ( (pointer_expression "**(code **)(in_t9 + 0x6fc1c)" * (pointer_expression "*(code **)(in_t9 + 0x6fc1c)" * (cast_expression "(code **)(in_t9 + 0x6fc1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fc1c)" ( (binary_expression "in_t9 + 0x6fc1c" identifier + number_literal) ))))) )) (argument_list "(ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,piVar27[0x1d])" ( (field_expression "ssh->savedhost" identifier -> field_identifier) , (field_expression "ssh->savedport" identifier -> field_identifier) , (field_expression "ssh->hostkey->keytype" (field_expression "ssh->hostkey" identifier -> field_identifier) -> field_identifier) , (subscript_expression "piVar27[0x1d]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar24 = (char *)piVar27[0x1d];" (assignment_expression "pcVar24 = (char *)piVar27[0x1d]" identifier = (cast_expression "(char *)piVar27[0x1d]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1d]" identifier [ number_literal ]))) ;) (expression_statement "ssh->cross_certifying = 0;" (assignment_expression "ssh->cross_certifying = 0" (field_expression "ssh->cross_certifying" identifier -> field_identifier) = number_literal) ;) (expression_statement "ssh->hostkey_str = pcVar24;" (assignment_expression "ssh->hostkey_str = pcVar24" (field_expression "ssh->hostkey_str" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_000430d8;" goto statement_identifier ;) })) (expression_statement "iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24);" (assignment_expression "iVar15 = (**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24)" identifier = (call_expression "(**(code **)(in_t9 + 0x70154))(ssh->hostkey_str,pcVar24)" (parenthesized_expression "(**(code **)(in_t9 + 0x70154))" ( (pointer_expression "**(code **)(in_t9 + 0x70154)" * (pointer_expression "*(code **)(in_t9 + 0x70154)" * (cast_expression "(code **)(in_t9 + 0x70154)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x70154)" ( (binary_expression "in_t9 + 0x70154" identifier + number_literal) ))))) )) (argument_list "(ssh->hostkey_str,pcVar24)" ( (field_expression "ssh->hostkey_str" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (iVar15 != 0) {\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);\n              goto LAB_0004361c;\n            }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6078)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x6078)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x6078" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(pcVar24);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(pcVar24)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(pcVar24)" ( identifier ))) ;) (expression_statement "psVar17 = ssh->hostkey;" (assignment_expression "psVar17 = ssh->hostkey" identifier = (field_expression "ssh->hostkey" identifier -> field_identifier)) ;) (goto_statement "goto LAB_000430dc;" goto statement_identifier ;) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5f1c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5f1c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }))) }))) }) (else_clause "else {\n      (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);\n    }" else (compound_statement "{\n      (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);\n    }" { (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c])" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(piVar27[0x1c])" ( (subscript_expression "piVar27[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5e7c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5e7c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (iVar3 < 0x1c92) {\n    if (iVar3 == 0x1bec) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1bec;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x1f) {\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n        if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }\n      }\n      else {\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1c2a) {\n      if (pktin != (Packet *)0x0) {\n        if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }\n        goto LAB_0004361c;\n      }\nLAB_000451dc:\n      *piVar27 = 0x1c2a;\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1b96) goto LAB_00042f14;\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b96;\n      goto LAB_00042f18;\n    }\n    if (pktin->type != piVar27[0xf]) {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8);\n      goto LAB_0004361c;\n    }\n    (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n    ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n    if ((char *)piVar27[0x1a] == (char *)0x0) {\nLAB_000459b4:\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08);\n      goto LAB_0004361c;\n    }\n    pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n    piVar27[0x22] = (int)pvVar13;\n    pvVar9 = ssh2_pkt_getmp(pktin);\n    piVar27[10] = (int)pvVar9;\n    if ((pvVar9 == (Bignum)0x0) ||\n       (ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0))\n    goto LAB_000459b4;\n    pcVar24 = dh_validate_f(ssh->kex_ctx,(Bignum)piVar27[10]);\n    if (pcVar24 == (char *)0x0) {\n      pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10]);\n      pvVar13 = ssh->frontend;\n      pcVar37 = *(code **)(in_t9 + 0x6fb80);\n      piVar27[0xb] = (int)pvVar9;\n      (*pcVar37)(pvVar13,0);\n      hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 );\n      iVar15 = dh_is_gex(ssh->kex);\n      if (iVar15 == 0) {\n        psVar19 = ssh->kex;\n      }\n      else {\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }\n      hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9]);\n      hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10]);\n      dh_cleanup(ssh->kex_ctx);\n                    /* WARNING: Subroutine does not return */\n      freebn((Bignum_conflict)piVar27[10]);\n    }\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24);\n    goto LAB_00043628;\n  }" if (parenthesized_expression "(iVar3 < 0x1c92)" ( (binary_expression "iVar3 < 0x1c92" identifier < number_literal) )) (compound_statement "{\n    if (iVar3 == 0x1bec) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1bec;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x1f) {\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n        if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }\n      }\n      else {\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1c2a) {\n      if (pktin != (Packet *)0x0) {\n        if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }\n        goto LAB_0004361c;\n      }\nLAB_000451dc:\n      *piVar27 = 0x1c2a;\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1b96) goto LAB_00042f14;\n    if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b96;\n      goto LAB_00042f18;\n    }\n    if (pktin->type != piVar27[0xf]) {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8);\n      goto LAB_0004361c;\n    }\n    (**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);\n    ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n    if ((char *)piVar27[0x1a] == (char *)0x0) {\nLAB_000459b4:\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08);\n      goto LAB_0004361c;\n    }\n    pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n    piVar27[0x22] = (int)pvVar13;\n    pvVar9 = ssh2_pkt_getmp(pktin);\n    piVar27[10] = (int)pvVar9;\n    if ((pvVar9 == (Bignum)0x0) ||\n       (ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0))\n    goto LAB_000459b4;\n    pcVar24 = dh_validate_f(ssh->kex_ctx,(Bignum)piVar27[10]);\n    if (pcVar24 == (char *)0x0) {\n      pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10]);\n      pvVar13 = ssh->frontend;\n      pcVar37 = *(code **)(in_t9 + 0x6fb80);\n      piVar27[0xb] = (int)pvVar9;\n      (*pcVar37)(pvVar13,0);\n      hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 );\n      iVar15 = dh_is_gex(ssh->kex);\n      if (iVar15 == 0) {\n        psVar19 = ssh->kex;\n      }\n      else {\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }\n      hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9]);\n      hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10]);\n      dh_cleanup(ssh->kex_ctx);\n                    /* WARNING: Subroutine does not return */\n      freebn((Bignum_conflict)piVar27[10]);\n    }\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24);\n    goto LAB_00043628;\n  }" { (if_statement "if (iVar3 == 0x1bec) {\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1bec;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x1f) {\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n        if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }\n      }\n      else {\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }\n      goto LAB_0004361c;\n    }" if (parenthesized_expression "(iVar3 == 0x1bec)" ( (binary_expression "iVar3 == 0x1bec" identifier == number_literal) )) (compound_statement "{\n      if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1bec;\n        goto LAB_00042f18;\n      }\n      if (pktin->type == 0x1f) {\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n        if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }\n      }\n      else {\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }\n      goto LAB_0004361c;\n    }" { (if_statement "if (pktin == (Packet *)0x0) {\n        *piVar27 = 0x1bec;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(pktin == (Packet *)0x0)" ( (binary_expression "pktin == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar27 = 0x1bec;\n        goto LAB_00042f18;\n      }" { (expression_statement "*piVar27 = 0x1bec;" (assignment_expression "*piVar27 = 0x1bec" (pointer_expression "*piVar27" * identifier) = number_literal) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (pktin->type == 0x1f) {\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n        if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }\n      }\n      else {\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }" if (parenthesized_expression "(pktin->type == 0x1f)" ( (binary_expression "pktin->type == 0x1f" (field_expression "pktin->type" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);\n        ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n        if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }\n      }" { (expression_statement "pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704);" (assignment_expression "pcVar37 = (code *)(*(int *)(in_t9 + 0x6f974) + 0x7704)" identifier = (cast_expression "(code *)(*(int *)(in_t9 + 0x6f974) + 0x7704)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f974) + 0x7704)" ( (binary_expression "*(int *)(in_t9 + 0x6f974) + 0x7704" (pointer_expression "*(int *)(in_t9 + 0x6f974)" * (cast_expression "(int *)(in_t9 + 0x6f974)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f974)" ( (binary_expression "in_t9 + 0x6f974" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);" (call_expression "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f)" identifier (argument_list "(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f)" ( identifier , (cast_expression "(char **)(piVar27 + 0x1a)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar27 + 0x1a)" ( (binary_expression "piVar27 + 0x1a" identifier + number_literal) ))) , (binary_expression "piVar27 + 0x1f" identifier + number_literal) ))) ;) (if_statement "if ((void *)piVar27[0x1a] == (void *)0x0) {\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }\n        else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }" if (parenthesized_expression "((void *)piVar27[0x1a] == (void *)0x0)" ( (binary_expression "(void *)piVar27[0x1a] == (void *)0x0" (cast_expression "(void *)piVar27[0x1a]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1a]" identifier [ number_literal ])) == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);\n        }" { (labeled_statement "LAB_00045a04:\n          pcVar37 = *(code **)(in_t9 + 0x6f618);" statement_identifier : (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;)) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5d04)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5d04" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }" else (compound_statement "{\n          hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);\n          pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n          pcVar38 = *(code **)(in_t9 + 0x6fba0);\n          piVar27[0x22] = (int)pvVar13;\n          pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);\n          if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }\n        }" { (expression_statement "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f]);" (call_expression "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f])" identifier (argument_list "((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                      piVar27[0x1f])" ( (cast_expression "(ssh_hash *)&ssh->kex->hash->bytes" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->kex->hash->bytes" & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(void *)piVar27[0x1a]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1a]" identifier [ number_literal ])) , (subscript_expression "piVar27[0x1f]" identifier [ number_literal ]) ))) ;) (expression_statement "pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);" (assignment_expression "pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f])" identifier = (call_expression "(*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f])" (parenthesized_expression "(*ssh->hostkey->newkey)" ( (pointer_expression "*ssh->hostkey->newkey" * (field_expression "ssh->hostkey->newkey" (field_expression "ssh->hostkey" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f])" ( (field_expression "ssh->hostkey" identifier -> field_identifier) , (cast_expression "(char *)piVar27[0x1a]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1a]" identifier [ number_literal ])) , (subscript_expression "piVar27[0x1f]" identifier [ number_literal ]) )))) ;) (expression_statement "pcVar38 = *(code **)(in_t9 + 0x6fba0);" (assignment_expression "pcVar38 = *(code **)(in_t9 + 0x6fba0)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6fba0)" * (cast_expression "(code **)(in_t9 + 0x6fba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fba0)" ( (binary_expression "in_t9 + 0x6fba0" identifier + number_literal) ))))) ;) (expression_statement "piVar27[0x22] = (int)pvVar13;" (assignment_expression "piVar27[0x22] = (int)pvVar13" (subscript_expression "piVar27[0x22]" identifier [ number_literal ]) = (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len);" (assignment_expression "pvVar13 = (void *)(*pcVar38)(piVar27[0x24],&len)" identifier = (cast_expression "(void *)(*pcVar38)(piVar27[0x24],&len)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar38)(piVar27[0x24],&len)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(piVar27[0x24],&len)" ( (subscript_expression "piVar27[0x24]" identifier [ number_literal ]) , (pointer_expression "&len" & identifier) ))))) ;) (if_statement "if (pvVar13 == (void *)0x0) {\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }\n          else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }" if (parenthesized_expression "(pvVar13 == (void *)0x0)" ( (binary_expression "pvVar13 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);\n          }" { (expression_statement "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);" (call_expression "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24])" (parenthesized_expression "(**(code **)(random_unref + in_t9 + 4))" ( (pointer_expression "**(code **)(random_unref + in_t9 + 4)" * (pointer_expression "*(code **)(random_unref + in_t9 + 4)" * (cast_expression "(code **)(random_unref + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_unref + in_t9 + 4)" ( (binary_expression "random_unref + in_t9 + 4" (binary_expression "random_unref + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(piVar27[0x24])" ( (subscript_expression "piVar27[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5d28)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5d28" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }" else (compound_statement "{\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);\n            (**(code **)(in_t9 + 0x6f5e4))(pvVar13);\n            (*pcVar37)(pktin,&str,&len);\n            if (str == (char *)0x0) goto LAB_00045a04;\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);\n            iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);\n            piVar27[0xb] = iVar15;\n            if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }\n            (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n            pcVar37 = *(code **)(in_t9 + 0x6f618);\n            piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);\n          }" { (expression_statement "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len);" (call_expression "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len)" identifier (argument_list "((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,pvVar13,len)" ( (cast_expression "(ssh_hash *)&ssh->kex->hash->bytes" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->kex->hash->bytes" & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) , (field_expression "ssh->exhash" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(pvVar13);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(pvVar13)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(pvVar13)" ( identifier ))) ;) (expression_statement "(*pcVar37)(pktin,&str,&len);" (call_expression "(*pcVar37)(pktin,&str,&len)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(pktin,&str,&len)" ( identifier , (pointer_expression "&str" & identifier) , (pointer_expression "&len" & identifier) ))) ;) (if_statement "if (str == (char *)0x0) goto LAB_00045a04;" if (parenthesized_expression "(str == (char *)0x0)" ( (binary_expression "str == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00045a04;" goto statement_identifier ;)) (expression_statement "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len);" (call_expression "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len)" identifier (argument_list "((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,str,len)" ( (cast_expression "(ssh_hash *)&ssh->kex->hash->bytes" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->kex->hash->bytes" & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) , (field_expression "ssh->exhash" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len);" (assignment_expression "iVar15 = (**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len)" identifier = (call_expression "(**(code **)(in_t9 + 0x6fba4))(piVar27[0x24],str,len)" (parenthesized_expression "(**(code **)(in_t9 + 0x6fba4))" ( (pointer_expression "**(code **)(in_t9 + 0x6fba4)" * (pointer_expression "*(code **)(in_t9 + 0x6fba4)" * (cast_expression "(code **)(in_t9 + 0x6fba4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fba4)" ( (binary_expression "in_t9 + 0x6fba4" identifier + number_literal) ))))) )) (argument_list "(piVar27[0x24],str,len)" ( (subscript_expression "piVar27[0x24]" identifier [ number_literal ]) , identifier , identifier )))) ;) (expression_statement "piVar27[0xb] = iVar15;" (assignment_expression "piVar27[0xb] = iVar15" (subscript_expression "piVar27[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 != 0) {\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              (*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);\n              if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }\n              goto LAB_000459b4;\n            }" { (expression_statement "(*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20);" (call_expression "(*pcVar37)(pktin,piVar27 + 0x1b,piVar27 + 0x20)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(pktin,piVar27 + 0x1b,piVar27 + 0x20)" ( identifier , (binary_expression "piVar27 + 0x1b" identifier + number_literal) , (binary_expression "piVar27 + 0x20" identifier + number_literal) ))) ;) (if_statement "if (piVar27[0x1b] != 0) {\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }" if (parenthesized_expression "(piVar27[0x1b] != 0)" ( (binary_expression "piVar27[0x1b] != 0" (subscript_expression "piVar27[0x1b]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n                goto LAB_0004446c;\n              }" { (expression_statement "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);" (call_expression "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24])" (parenthesized_expression "(**(code **)(random_unref + in_t9 + 4))" ( (pointer_expression "**(code **)(random_unref + in_t9 + 4)" * (pointer_expression "*(code **)(random_unref + in_t9 + 4)" * (cast_expression "(code **)(random_unref + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_unref + in_t9 + 4)" ( (binary_expression "random_unref + in_t9 + 4" (binary_expression "random_unref + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(piVar27[0x24])" ( (subscript_expression "piVar27[0x24]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_0004446c;" goto statement_identifier ;) })) (goto_statement "goto LAB_000459b4;" goto statement_identifier ;) })) (expression_statement "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);" (call_expression "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24])" (parenthesized_expression "(**(code **)(random_unref + in_t9 + 4))" ( (pointer_expression "**(code **)(random_unref + in_t9 + 4)" * (pointer_expression "*(code **)(random_unref + in_t9 + 4)" * (cast_expression "(code **)(random_unref + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_unref + in_t9 + 4)" ( (binary_expression "random_unref + in_t9 + 4" (binary_expression "random_unref + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(piVar27[0x24])" ( (subscript_expression "piVar27[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5d54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5d54)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5d54" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }))) }))) }) (else_clause "else {\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }" else (compound_statement "{\n        (**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);\n        pcVar37 = *(code **)(in_t9 + 0x6f618);\n        piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);\n      }" { (expression_statement "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24]);" (call_expression "(**(code **)(random_unref + in_t9 + 4))(piVar27[0x24])" (parenthesized_expression "(**(code **)(random_unref + in_t9 + 4))" ( (pointer_expression "**(code **)(random_unref + in_t9 + 4)" * (pointer_expression "*(code **)(random_unref + in_t9 + 4)" * (cast_expression "(code **)(random_unref + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_unref + in_t9 + 4)" ( (binary_expression "random_unref + in_t9 + 4" (binary_expression "random_unref + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(piVar27[0x24])" ( (subscript_expression "piVar27[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5cdc)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5cdc" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1c2a) {\n      if (pktin != (Packet *)0x0) {\n        if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }\n        goto LAB_0004361c;\n      }\nLAB_000451dc:\n      *piVar27 = 0x1c2a;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(iVar3 == 0x1c2a)" ( (binary_expression "iVar3 == 0x1c2a" identifier == number_literal) )) (compound_statement "{\n      if (pktin != (Packet *)0x0) {\n        if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }\n        goto LAB_0004361c;\n      }\nLAB_000451dc:\n      *piVar27 = 0x1c2a;\n      goto LAB_00042f18;\n    }" { (if_statement "if (pktin != (Packet *)0x0) {\n        if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(pktin != (Packet *)0x0)" ( (binary_expression "pktin != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }\n        goto LAB_0004361c;\n      }" { (if_statement "if (pktin->type == 0x1e) {\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }\n        else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }" if (parenthesized_expression "(pktin->type == 0x1e)" ( (binary_expression "pktin->type == 0x1e" (field_expression "pktin->type" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n          ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);\n          if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);\n        }" { (expression_statement "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);" (call_expression "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f)" identifier (argument_list "(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f)" ( identifier , (cast_expression "(char **)(piVar27 + 0x1a)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar27 + 0x1a)" ( (binary_expression "piVar27 + 0x1a" identifier + number_literal) ))) , (binary_expression "piVar27 + 0x1f" identifier + number_literal) ))) ;) (if_statement "if ((void *)piVar27[0x1a] != (void *)0x0) {\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }" if (parenthesized_expression "((void *)piVar27[0x1a] != (void *)0x0)" ( (binary_expression "(void *)piVar27[0x1a] != (void *)0x0" (cast_expression "(void *)piVar27[0x1a]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1a]" identifier [ number_literal ])) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);\n            pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);\n            piVar27[0x22] = (int)pvVar13;\n            ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);\n            if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }\n          }" { (expression_statement "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f]);" (call_expression "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f])" identifier (argument_list "((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],\n                        piVar27[0x1f])" ( (cast_expression "(ssh_hash *)&ssh->kex->hash->bytes" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->kex->hash->bytes" & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(void *)piVar27[0x1a]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1a]" identifier [ number_literal ])) , (subscript_expression "piVar27[0x1f]" identifier [ number_literal ]) ))) ;) (expression_statement "pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);" (assignment_expression "pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f])" identifier = (call_expression "(*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f])" (parenthesized_expression "(*ssh->hostkey->newkey)" ( (pointer_expression "*ssh->hostkey->newkey" * (field_expression "ssh->hostkey->newkey" (field_expression "ssh->hostkey" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f])" ( (field_expression "ssh->hostkey" identifier -> field_identifier) , (cast_expression "(char *)piVar27[0x1a]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1a]" identifier [ number_literal ])) , (subscript_expression "piVar27[0x1f]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar27[0x22] = (int)pvVar13;" (assignment_expression "piVar27[0x22] = (int)pvVar13" (subscript_expression "piVar27[0x22]" identifier [ number_literal ]) = (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21);" (call_expression "ssh_pkt_getstring(pktin,(char **)&len,piVar27 + 0x21)" identifier (argument_list "(pktin,(char **)&len,piVar27 + 0x21)" ( identifier , (cast_expression "(char **)&len" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&len" & identifier)) , (binary_expression "piVar27 + 0x21" identifier + number_literal) ))) ;) (if_statement "if (len != 0) {\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }" if (parenthesized_expression "(len != 0)" ( (binary_expression "len != 0" identifier != number_literal) )) (compound_statement "{\n              iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);\n              piVar27[0x1c] = iVar15;\n              (**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);\n              iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);\n              piVar27[0x23] = iVar15;\n              if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }\n              (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n              pcVar37 = *(code **)(in_t9 + 0x6f618);\n              piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);\n              goto LAB_0004361c;\n            }" { (expression_statement "iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1);" (assignment_expression "iVar15 = (**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1)" identifier = (call_expression "(**(code **)(in_t9 + 0x6f61c))(piVar27[0x21],1)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f61c))" ( (pointer_expression "**(code **)(in_t9 + 0x6f61c)" * (pointer_expression "*(code **)(in_t9 + 0x6f61c)" * (cast_expression "(code **)(in_t9 + 0x6f61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f61c)" ( (binary_expression "in_t9 + 0x6f61c" identifier + number_literal) ))))) )) (argument_list "(piVar27[0x21],1)" ( (subscript_expression "piVar27[0x21]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar27[0x1c] = iVar15;" (assignment_expression "piVar27[0x1c] = iVar15" (subscript_expression "piVar27[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21]);" (call_expression "(**(code **)(in_t9 + 0x7011c))(iVar15,len,piVar27[0x21])" (parenthesized_expression "(**(code **)(in_t9 + 0x7011c))" ( (pointer_expression "**(code **)(in_t9 + 0x7011c)" * (pointer_expression "*(code **)(in_t9 + 0x7011c)" * (cast_expression "(code **)(in_t9 + 0x7011c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x7011c)" ( (binary_expression "in_t9 + 0x7011c" identifier + number_literal) ))))) )) (argument_list "(iVar15,len,piVar27[0x21])" ( identifier , identifier , (subscript_expression "piVar27[0x21]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21]);" (assignment_expression "iVar15 = (**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21])" identifier = (call_expression "(**(code **)(in_t9 + 0x6fba8))(piVar27[0x1c],piVar27[0x21])" (parenthesized_expression "(**(code **)(in_t9 + 0x6fba8))" ( (pointer_expression "**(code **)(in_t9 + 0x6fba8)" * (pointer_expression "*(code **)(in_t9 + 0x6fba8)" * (cast_expression "(code **)(in_t9 + 0x6fba8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fba8)" ( (binary_expression "in_t9 + 0x6fba8" identifier + number_literal) ))))) )) (argument_list "(piVar27[0x1c],piVar27[0x21])" ( (subscript_expression "piVar27[0x1c]" identifier [ number_literal ]) , (subscript_expression "piVar27[0x21]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar27[0x23] = iVar15;" (assignment_expression "piVar27[0x23] = iVar15" (subscript_expression "piVar27[0x23]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 != 0) {\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);\n                iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);\n                iVar22 = 0x800;\n                if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }\n                if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }\n                (**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);\n                pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);\n                goto LAB_00043628;\n              }" { (expression_statement "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21]);" (call_expression "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21])" identifier (argument_list "((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1c],\n                            piVar27[0x21])" ( (cast_expression "(ssh_hash *)&ssh->kex->hash->bytes" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->kex->hash->bytes" & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(void *)piVar27[0x1c]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1c]" identifier [ number_literal ])) , (subscript_expression "piVar27[0x21]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23]);" (assignment_expression "iVar15 = (**(code **)(in_t9 + 0x6fbac))(piVar27[0x23])" identifier = (call_expression "(**(code **)(in_t9 + 0x6fbac))(piVar27[0x23])" (parenthesized_expression "(**(code **)(in_t9 + 0x6fbac))" ( (pointer_expression "**(code **)(in_t9 + 0x6fbac)" * (pointer_expression "*(code **)(in_t9 + 0x6fbac)" * (cast_expression "(code **)(in_t9 + 0x6fbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fbac)" ( (binary_expression "in_t9 + 0x6fbac" identifier + number_literal) ))))) )) (argument_list "(piVar27[0x23])" ( (subscript_expression "piVar27[0x23]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar22 = 0x800;" (assignment_expression "iVar22 = 0x800" identifier = number_literal) ;) (if_statement "if (ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)) {\n                  iVar22 = 0x400;\n                }" if (parenthesized_expression "(ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0))" ( (binary_expression "ssh->kex == *(ssh_kex **)(in_t9 + 0x6fbb0)" (field_expression "ssh->kex" identifier -> field_identifier) == (pointer_expression "*(ssh_kex **)(in_t9 + 0x6fbb0)" * (cast_expression "(ssh_kex **)(in_t9 + 0x6fbb0)" ( (type_descriptor "ssh_kex **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fbb0)" ( (binary_expression "in_t9 + 0x6fbb0" identifier + number_literal) ))))) )) (compound_statement "{\n                  iVar22 = 0x400;\n                }" { (expression_statement "iVar22 = 0x400;" (assignment_expression "iVar22 = 0x400" identifier = number_literal) ;) })) (if_statement "if (iVar22 <= iVar15) {\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }" if (parenthesized_expression "(iVar22 <= iVar15)" ( (binary_expression "iVar22 <= iVar15" identifier <= identifier) )) (compound_statement "{\n                  uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);\n                  if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }\n                  pBVar10 = bn_power_2(uVar14 - 1);\n                  piVar27[0xb] = (int)pBVar10;\n                  iStack_80 = 0;\n                  bitnum = 0;\n                  do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);\n                  iVar15 = iVar15 + 7 >> 3;\n                  puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);\n                  iVar22 = len + 4;\n                  puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);\n                  *puVar12 = len._0_1_;\n                  pcVar37 = *(code **)(in_t9 + 0x7011c);\n                  puVar12[1] = (char)((uint)len >> 0x10);\n                  puVar12[2] = (char)((uint)len >> 8);\n                  puVar12[3] = (char)len;\n                  (*pcVar37)(puVar12 + 4,puVar25,len);\n                  uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);\n                  (**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);\n                  pPVar26 = ssh2_pkt_init(0x1f);\n                  piVar27[0x4f] = (int)pPVar26;\n                  x[0] = '\0';\n                  x[1] = '\0';\n                  x[2] = '\0';\n                  x[3] = '\0';\n                    /* WARNING: Subroutine does not return */\n                  ssh_pkt_adddata(pPVar26,x,4);\n                }" { (expression_statement "uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31);" (assignment_expression "uVar14 = iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31)" identifier = (binary_expression "iVar15 - (ssh->kex->hash->hlen * 0x10 + 0x31)" identifier - (parenthesized_expression "(ssh->kex->hash->hlen * 0x10 + 0x31)" ( (binary_expression "ssh->kex->hash->hlen * 0x10 + 0x31" (binary_expression "ssh->kex->hash->hlen * 0x10" (field_expression "ssh->kex->hash->hlen" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier) * number_literal) + number_literal) )))) ;) (if_statement "if ((int)uVar14 < 1) {\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }" if (parenthesized_expression "((int)uVar14 < 1)" ( (binary_expression "(int)uVar14 < 1" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    (**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n                    return;\n                  }" { (expression_statement "(**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c);" (call_expression "(**(code **)(in_t9 + 0x6ff40))\n                              (*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" (parenthesized_expression "(**(code **)(in_t9 + 0x6ff40))" ( (pointer_expression "**(code **)(in_t9 + 0x6ff40)" * (pointer_expression "*(code **)(in_t9 + 0x6ff40)" * (cast_expression "(code **)(in_t9 + 0x6ff40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6ff40)" ( (binary_expression "in_t9 + 0x6ff40" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x6f5bc) + 0x5e70,*(int *)(in_t9 + 0x6f5bc) + 0x35c0\n                               ,0x1c61,*(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5e70" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x35c0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x7e6c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "pBVar10 = bn_power_2(uVar14 - 1);" (assignment_expression "pBVar10 = bn_power_2(uVar14 - 1)" identifier = (call_expression "bn_power_2(uVar14 - 1)" identifier (argument_list "(uVar14 - 1)" ( (binary_expression "uVar14 - 1" identifier - number_literal) )))) ;) (expression_statement "piVar27[0xb] = (int)pBVar10;" (assignment_expression "piVar27[0xb] = (int)pBVar10" (subscript_expression "piVar27[0xb]" identifier [ number_literal ]) = (cast_expression "(int)pBVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iStack_80 = 0;" (assignment_expression "iStack_80 = 0" identifier = number_literal) ;) (expression_statement "bitnum = 0;" (assignment_expression "bitnum = 0" identifier = number_literal) ;) (do_statement "do {\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  } while (uVar14 != uVar28);" do (compound_statement "{\n                    if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }\n                    uVar28 = bitnum + 1;\n                    bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);\n                    bitnum = uVar28;\n                  }" { (if_statement "if ((bitnum & 7) == 0) {\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }" if (parenthesized_expression "((bitnum & 7) == 0)" ( (binary_expression "(bitnum & 7) == 0" (parenthesized_expression "(bitnum & 7)" ( (binary_expression "bitnum & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      iStack_80 = (**(code **)(in_t9 + 0x6fae8))();\n                    }" { (expression_statement "iStack_80 = (**(code **)(in_t9 + 0x6fae8))();" (assignment_expression "iStack_80 = (**(code **)(in_t9 + 0x6fae8))()" identifier = (call_expression "(**(code **)(in_t9 + 0x6fae8))()" (parenthesized_expression "(**(code **)(in_t9 + 0x6fae8))" ( (pointer_expression "**(code **)(in_t9 + 0x6fae8)" * (pointer_expression "*(code **)(in_t9 + 0x6fae8)" * (cast_expression "(code **)(in_t9 + 0x6fae8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fae8)" ( (binary_expression "in_t9 + 0x6fae8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) })) (expression_statement "uVar28 = bitnum + 1;" (assignment_expression "uVar28 = bitnum + 1" identifier = (binary_expression "bitnum + 1" identifier + number_literal)) ;) (expression_statement "bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1);" (call_expression "bignum_set_bit((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1)" identifier (argument_list "((Bignum_conflict)piVar27[0xb],bitnum,\n                                   iStack_80 >> (bitnum & 7) & 1)" ( (cast_expression "(Bignum_conflict)piVar27[0xb]" ( (type_descriptor "Bignum_conflict" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) , identifier , (binary_expression "iStack_80 >> (bitnum & 7) & 1" (binary_expression "iStack_80 >> (bitnum & 7)" identifier >> (parenthesized_expression "(bitnum & 7)" ( (binary_expression "bitnum & 7" identifier & number_literal) ))) & number_literal) ))) ;) (expression_statement "bitnum = uVar28;" (assignment_expression "bitnum = uVar28" identifier = identifier) ;) }) while (parenthesized_expression "(uVar14 != uVar28)" ( (binary_expression "uVar14 != uVar28" identifier != identifier) )) ;) (expression_statement "iVar15 = iVar15 + 7 >> 3;" (assignment_expression "iVar15 = iVar15 + 7 >> 3" identifier = (binary_expression "iVar15 + 7 >> 3" (binary_expression "iVar15 + 7" identifier + number_literal) >> number_literal)) ;) (expression_statement "puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len);" (assignment_expression "puVar25 = ssh2_mpint_fmt((Bignum)piVar27[0xb],&len)" identifier = (call_expression "ssh2_mpint_fmt((Bignum)piVar27[0xb],&len)" identifier (argument_list "((Bignum)piVar27[0xb],&len)" ( (cast_expression "(Bignum)piVar27[0xb]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) , (pointer_expression "&len" & identifier) )))) ;) (expression_statement "iVar22 = len + 4;" (assignment_expression "iVar22 = len + 4" identifier = (binary_expression "len + 4" identifier + number_literal)) ;) (expression_statement "puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1);" (assignment_expression "puVar12 = (undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1)" identifier = (cast_expression "(undefined1 *)(**(code **)(in_t9 + 0x6f61c))(iVar22,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x6f61c))(iVar22,1)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f61c))" ( (pointer_expression "**(code **)(in_t9 + 0x6f61c)" * (pointer_expression "*(code **)(in_t9 + 0x6f61c)" * (cast_expression "(code **)(in_t9 + 0x6f61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f61c)" ( (binary_expression "in_t9 + 0x6f61c" identifier + number_literal) ))))) )) (argument_list "(iVar22,1)" ( identifier , number_literal ))))) ;) (expression_statement "*puVar12 = len._0_1_;" (assignment_expression "*puVar12 = len._0_1_" (pointer_expression "*puVar12" * identifier) = (field_expression "len._0_1_" identifier . field_identifier)) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x7011c);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x7011c)" identifier = (pointer_expression "*(code **)(in_t9 + 0x7011c)" * (cast_expression "(code **)(in_t9 + 0x7011c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x7011c)" ( (binary_expression "in_t9 + 0x7011c" identifier + number_literal) ))))) ;) (expression_statement "puVar12[1] = (char)((uint)len >> 0x10);" (assignment_expression "puVar12[1] = (char)((uint)len >> 0x10)" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = (cast_expression "(char)((uint)len >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)len >> 0x10)" ( (binary_expression "(uint)len >> 0x10" (cast_expression "(uint)len" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar12[2] = (char)((uint)len >> 8);" (assignment_expression "puVar12[2] = (char)((uint)len >> 8)" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)len >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)len >> 8)" ( (binary_expression "(uint)len >> 8" (cast_expression "(uint)len" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar12[3] = (char)len;" (assignment_expression "puVar12[3] = (char)len" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = (cast_expression "(char)len" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(*pcVar37)(puVar12 + 4,puVar25,len);" (call_expression "(*pcVar37)(puVar12 + 4,puVar25,len)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(puVar12 + 4,puVar25,len)" ( (binary_expression "puVar12 + 4" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1);" (assignment_expression "uVar11 = (**(code **)(in_t9 + 0x6f61c))(iVar15,1)" identifier = (call_expression "(**(code **)(in_t9 + 0x6f61c))(iVar15,1)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f61c))" ( (pointer_expression "**(code **)(in_t9 + 0x6f61c)" * (pointer_expression "*(code **)(in_t9 + 0x6f61c)" * (cast_expression "(code **)(in_t9 + 0x6f61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f61c)" ( (binary_expression "in_t9 + 0x6f61c" identifier + number_literal) ))))) )) (argument_list "(iVar15,1)" ( identifier , number_literal )))) ;) (expression_statement "(**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23]);" (call_expression "(**(code **)(in_t9 + 0x6fc00))\n                            (ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23])" (parenthesized_expression "(**(code **)(in_t9 + 0x6fc00))" ( (pointer_expression "**(code **)(in_t9 + 0x6fc00)" * (pointer_expression "*(code **)(in_t9 + 0x6fc00)" * (cast_expression "(code **)(in_t9 + 0x6fc00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fc00)" ( (binary_expression "in_t9 + 0x6fc00" identifier + number_literal) ))))) )) (argument_list "(ssh->kex->hash,puVar12,iVar22,uVar11,iVar15,piVar27[0x23])" ( (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) , identifier , identifier , identifier , identifier , (subscript_expression "piVar27[0x23]" identifier [ number_literal ]) ))) ;) (expression_statement "pPVar26 = ssh2_pkt_init(0x1f);" (assignment_expression "pPVar26 = ssh2_pkt_init(0x1f)" identifier = (call_expression "ssh2_pkt_init(0x1f)" identifier (argument_list "(0x1f)" ( number_literal )))) ;) (expression_statement "piVar27[0x4f] = (int)pPVar26;" (assignment_expression "piVar27[0x4f] = (int)pPVar26" (subscript_expression "piVar27[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "x[0] = '\0';" (assignment_expression "x[0] = '\0'" (subscript_expression "x[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[1] = '\0';" (assignment_expression "x[1] = '\0'" (subscript_expression "x[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[2] = '\0';" (assignment_expression "x[2] = '\0'" (subscript_expression "x[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[3] = '\0';" (assignment_expression "x[3] = '\0'" (subscript_expression "x[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) comment (expression_statement "ssh_pkt_adddata(pPVar26,x,4);" (call_expression "ssh_pkt_adddata(pPVar26,x,4)" identifier (argument_list "(pPVar26,x,4)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c])" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(piVar27[0x1c])" ( (subscript_expression "piVar27[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name);" (assignment_expression "pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x6f618))\n                                            (*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f618))" ( (pointer_expression "**(code **)(in_t9 + 0x6f618)" * (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x6f5bc) + 0x5e20,iVar15,iVar22,\n                                             ssh->kex->name)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5e20" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , identifier , identifier , (field_expression "ssh->kex->name" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) ))))) ;) (goto_statement "goto LAB_00043628;" goto statement_identifier ;) })) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c]);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(piVar27[0x1c])" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(piVar27[0x1c])" ( (subscript_expression "piVar27[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5df4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5df4)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5df4" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5dcc)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5dcc" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }" else (compound_statement "{\n          pcVar37 = *(code **)(in_t9 + 0x6f618);\n          piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);\n        }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5da0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5da0)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5da0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (labeled_statement "LAB_000451dc:\n      *piVar27 = 0x1c2a;" statement_identifier : (expression_statement "*piVar27 = 0x1c2a;" (assignment_expression "*piVar27 = 0x1c2a" (pointer_expression "*piVar27" * identifier) = number_literal) ;)) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (iVar3 != 0x1b96) goto LAB_00042f14;" if (parenthesized_expression "(iVar3 != 0x1b96)" ( (binary_expression "iVar3 != 0x1b96" identifier != number_literal) )) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;)) (if_statement "if (pktin == (Packet *)0x0) {\n      *piVar27 = 0x1b96;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(pktin == (Packet *)0x0)" ( (binary_expression "pktin == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *piVar27 = 0x1b96;\n      goto LAB_00042f18;\n    }" { (expression_statement "*piVar27 = 0x1b96;" (assignment_expression "*piVar27 = 0x1b96" (pointer_expression "*piVar27" * identifier) = number_literal) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (pktin->type != piVar27[0xf]) {\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8);\n      goto LAB_0004361c;\n    }" if (parenthesized_expression "(pktin->type != piVar27[0xf])" ( (binary_expression "pktin->type != piVar27[0xf]" (field_expression "pktin->type" identifier -> field_identifier) != (subscript_expression "piVar27[0xf]" identifier [ number_literal ])) )) (compound_statement "{\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8);\n      goto LAB_0004361c;\n    }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5bd8)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5bd8" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2);" (call_expression "(**(code **)(in_t9 + 0x6fb80))(ssh->frontend,2)" (parenthesized_expression "(**(code **)(in_t9 + 0x6fb80))" ( (pointer_expression "**(code **)(in_t9 + 0x6fb80)" * (pointer_expression "*(code **)(in_t9 + 0x6fb80)" * (cast_expression "(code **)(in_t9 + 0x6fb80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fb80)" ( (binary_expression "in_t9 + 0x6fb80" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,2)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , number_literal ))) ;) (expression_statement "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f);" (call_expression "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f)" identifier (argument_list "(pktin,(char **)(piVar27 + 0x1a),piVar27 + 0x1f)" ( identifier , (cast_expression "(char **)(piVar27 + 0x1a)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar27 + 0x1a)" ( (binary_expression "piVar27 + 0x1a" identifier + number_literal) ))) , (binary_expression "piVar27 + 0x1f" identifier + number_literal) ))) ;) (if_statement "if ((char *)piVar27[0x1a] == (char *)0x0) {\nLAB_000459b4:\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08);\n      goto LAB_0004361c;\n    }" if (parenthesized_expression "((char *)piVar27[0x1a] == (char *)0x0)" ( (binary_expression "(char *)piVar27[0x1a] == (char *)0x0" (cast_expression "(char *)piVar27[0x1a]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1a]" identifier [ number_literal ])) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000459b4:\n      pcVar37 = *(code **)(in_t9 + 0x6f618);\n      piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08);\n      goto LAB_0004361c;\n    }" { (labeled_statement "LAB_000459b4:\n      pcVar37 = *(code **)(in_t9 + 0x6f618);" statement_identifier : (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;)) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5c08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5c08)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5c08" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f]);" (assignment_expression "pvVar13 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f])" identifier = (call_expression "(*ssh->hostkey->newkey)(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f])" (parenthesized_expression "(*ssh->hostkey->newkey)" ( (pointer_expression "*ssh->hostkey->newkey" * (field_expression "ssh->hostkey->newkey" (field_expression "ssh->hostkey" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->hostkey,(char *)piVar27[0x1a],piVar27[0x1f])" ( (field_expression "ssh->hostkey" identifier -> field_identifier) , (cast_expression "(char *)piVar27[0x1a]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1a]" identifier [ number_literal ])) , (subscript_expression "piVar27[0x1f]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar27[0x22] = (int)pvVar13;" (assignment_expression "piVar27[0x22] = (int)pvVar13" (subscript_expression "piVar27[0x22]" identifier [ number_literal ]) = (cast_expression "(int)pvVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pvVar9 = ssh2_pkt_getmp(pktin);" (assignment_expression "pvVar9 = ssh2_pkt_getmp(pktin)" identifier = (call_expression "ssh2_pkt_getmp(pktin)" identifier (argument_list "(pktin)" ( identifier )))) ;) (expression_statement "piVar27[10] = (int)pvVar9;" (assignment_expression "piVar27[10] = (int)pvVar9" (subscript_expression "piVar27[10]" identifier [ number_literal ]) = (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((pvVar9 == (Bignum)0x0) ||\n       (ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0))\n    goto LAB_000459b4;" if (parenthesized_expression "((pvVar9 == (Bignum)0x0) ||\n       (ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0))" ( (binary_expression "(pvVar9 == (Bignum)0x0) ||\n       (ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0)" (parenthesized_expression "(pvVar9 == (Bignum)0x0)" ( (binary_expression "pvVar9 == (Bignum)0x0" identifier == (cast_expression "(Bignum)0x0" ( (type_descriptor "Bignum" type_identifier) ) number_literal)) )) || (parenthesized_expression "(ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0)" ( (comma_expression "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20), piVar27[0x1b] == 0" (call_expression "ssh_pkt_getstring(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20)" identifier (argument_list "(pktin,(char **)(piVar27 + 0x1b),piVar27 + 0x20)" ( identifier , (cast_expression "(char **)(piVar27 + 0x1b)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar27 + 0x1b)" ( (binary_expression "piVar27 + 0x1b" identifier + number_literal) ))) , (binary_expression "piVar27 + 0x20" identifier + number_literal) ))) , (binary_expression "piVar27[0x1b] == 0" (subscript_expression "piVar27[0x1b]" identifier [ number_literal ]) == number_literal)) ))) )) (goto_statement "goto LAB_000459b4;" goto statement_identifier ;)) (expression_statement "pcVar24 = dh_validate_f(ssh->kex_ctx,(Bignum)piVar27[10]);" (assignment_expression "pcVar24 = dh_validate_f(ssh->kex_ctx,(Bignum)piVar27[10])" identifier = (call_expression "dh_validate_f(ssh->kex_ctx,(Bignum)piVar27[10])" identifier (argument_list "(ssh->kex_ctx,(Bignum)piVar27[10])" ( (field_expression "ssh->kex_ctx" identifier -> field_identifier) , (cast_expression "(Bignum)piVar27[10]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[10]" identifier [ number_literal ])) )))) ;) (if_statement "if (pcVar24 == (char *)0x0) {\n      pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10]);\n      pvVar13 = ssh->frontend;\n      pcVar37 = *(code **)(in_t9 + 0x6fb80);\n      piVar27[0xb] = (int)pvVar9;\n      (*pcVar37)(pvVar13,0);\n      hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 );\n      iVar15 = dh_is_gex(ssh->kex);\n      if (iVar15 == 0) {\n        psVar19 = ssh->kex;\n      }\n      else {\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }\n      hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9]);\n      hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10]);\n      dh_cleanup(ssh->kex_ctx);\n                    /* WARNING: Subroutine does not return */\n      freebn((Bignum_conflict)piVar27[10]);\n    }" if (parenthesized_expression "(pcVar24 == (char *)0x0)" ( (binary_expression "pcVar24 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10]);\n      pvVar13 = ssh->frontend;\n      pcVar37 = *(code **)(in_t9 + 0x6fb80);\n      piVar27[0xb] = (int)pvVar9;\n      (*pcVar37)(pvVar13,0);\n      hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 );\n      iVar15 = dh_is_gex(ssh->kex);\n      if (iVar15 == 0) {\n        psVar19 = ssh->kex;\n      }\n      else {\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }\n      hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9]);\n      hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10]);\n      dh_cleanup(ssh->kex_ctx);\n                    /* WARNING: Subroutine does not return */\n      freebn((Bignum_conflict)piVar27[10]);\n    }" { (expression_statement "pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10]);" (assignment_expression "pvVar9 = dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10])" identifier = (call_expression "dh_find_K(ssh->kex_ctx,(Bignum)piVar27[10])" identifier (argument_list "(ssh->kex_ctx,(Bignum)piVar27[10])" ( (field_expression "ssh->kex_ctx" identifier -> field_identifier) , (cast_expression "(Bignum)piVar27[10]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[10]" identifier [ number_literal ])) )))) ;) (expression_statement "pvVar13 = ssh->frontend;" (assignment_expression "pvVar13 = ssh->frontend" identifier = (field_expression "ssh->frontend" identifier -> field_identifier)) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6fb80);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6fb80)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6fb80)" * (cast_expression "(code **)(in_t9 + 0x6fb80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fb80)" ( (binary_expression "in_t9 + 0x6fb80" identifier + number_literal) ))))) ;) (expression_statement "piVar27[0xb] = (int)pvVar9;" (assignment_expression "piVar27[0xb] = (int)pvVar9" (subscript_expression "piVar27[0xb]" identifier [ number_literal ]) = (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*pcVar37)(pvVar13,0);" (call_expression "(*pcVar37)(pvVar13,0)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(pvVar13,0)" ( identifier , number_literal ))) ;) (expression_statement "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 );" (call_expression "hash_string((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 )" identifier (argument_list "((ssh_hash *)&ssh->kex->hash->bytes,ssh->exhash,(void *)piVar27[0x1a],piVar27[0x1f]\n                 )" ( (cast_expression "(ssh_hash *)&ssh->kex->hash->bytes" ( (type_descriptor "ssh_hash *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->kex->hash->bytes" & (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier))) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(void *)piVar27[0x1a]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1a]" identifier [ number_literal ])) , (subscript_expression "piVar27[0x1f]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar15 = dh_is_gex(ssh->kex);" (assignment_expression "iVar15 = dh_is_gex(ssh->kex)" identifier = (call_expression "dh_is_gex(ssh->kex)" identifier (argument_list "(ssh->kex)" ( (field_expression "ssh->kex" identifier -> field_identifier) )))) ;) (if_statement "if (iVar15 == 0) {\n        psVar19 = ssh->kex;\n      }\n      else {\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n        psVar19 = ssh->kex;\n      }" { (expression_statement "psVar19 = ssh->kex;" (assignment_expression "psVar19 = ssh->kex" identifier = (field_expression "ssh->kex" identifier -> field_identifier)) ;) }) (else_clause "else {\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }" else (compound_statement "{\n        pvVar13 = ssh->exhash;\n        p_Var36 = ssh->kex->hash->bytes;\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }\n        x = *(uchar (*) [4])(piVar27 + 2);\n        (*p_Var36)(pvVar13,x,4);\n        if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);\n        hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);\n        psVar19 = ssh->kex;\n      }" { (expression_statement "pvVar13 = ssh->exhash;" (assignment_expression "pvVar13 = ssh->exhash" identifier = (field_expression "ssh->exhash" identifier -> field_identifier)) ;) (expression_statement "p_Var36 = ssh->kex->hash->bytes;" (assignment_expression "p_Var36 = ssh->kex->hash->bytes" identifier = (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) (if_statement "if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }" if (parenthesized_expression "((ssh->remote_bugs & 0x1000U) == 0)" ( (binary_expression "(ssh->remote_bugs & 0x1000U) == 0" (parenthesized_expression "(ssh->remote_bugs & 0x1000U)" ( (binary_expression "ssh->remote_bugs & 0x1000U" (field_expression "ssh->remote_bugs" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = '\x04';\n          x[3] = '\0';\n          (*p_Var36)(pvVar13,x,4);\n          pvVar13 = ssh->exhash;\n          p_Var36 = ssh->kex->hash->bytes;\n        }" { (expression_statement "x[0] = '\0';" (assignment_expression "x[0] = '\0'" (subscript_expression "x[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[1] = '\0';" (assignment_expression "x[1] = '\0'" (subscript_expression "x[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[2] = '\x04';" (assignment_expression "x[2] = '\x04'" (subscript_expression "x[2]" identifier [ number_literal ]) = (char_literal "'\x04'" ' escape_sequence ')) ;) (expression_statement "x[3] = '\0';" (assignment_expression "x[3] = '\0'" (subscript_expression "x[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*p_Var36)(pvVar13,x,4);" (call_expression "(*p_Var36)(pvVar13,x,4)" (parenthesized_expression "(*p_Var36)" ( (pointer_expression "*p_Var36" * identifier) )) (argument_list "(pvVar13,x,4)" ( identifier , identifier , number_literal ))) ;) (expression_statement "pvVar13 = ssh->exhash;" (assignment_expression "pvVar13 = ssh->exhash" identifier = (field_expression "ssh->exhash" identifier -> field_identifier)) ;) (expression_statement "p_Var36 = ssh->kex->hash->bytes;" (assignment_expression "p_Var36 = ssh->kex->hash->bytes" identifier = (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) })) (expression_statement "x = *(uchar (*) [4])(piVar27 + 2);" (assignment_expression "x = *(uchar (*) [4])(piVar27 + 2)" identifier = (pointer_expression "*(uchar (*) [4])(piVar27 + 2)" * (cast_expression "(uchar (*) [4])(piVar27 + 2)" ( (type_descriptor "uchar (*) [4]" type_identifier (abstract_array_declarator "(*) [4]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(piVar27 + 2)" ( (binary_expression "piVar27 + 2" identifier + number_literal) ))))) ;) (expression_statement "(*p_Var36)(pvVar13,x,4);" (call_expression "(*p_Var36)(pvVar13,x,4)" (parenthesized_expression "(*p_Var36)" ( (pointer_expression "*p_Var36" * identifier) )) (argument_list "(pvVar13,x,4)" ( identifier , identifier , number_literal ))) ;) (if_statement "if ((ssh->remote_bugs & 0x1000U) == 0) {\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }" if (parenthesized_expression "((ssh->remote_bugs & 0x1000U) == 0)" ( (binary_expression "(ssh->remote_bugs & 0x1000U) == 0" (parenthesized_expression "(ssh->remote_bugs & 0x1000U)" ( (binary_expression "ssh->remote_bugs & 0x1000U" (field_expression "ssh->remote_bugs" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          x[0] = '\0';\n          x[1] = '\0';\n          x[2] = ' ';\n          x[3] = '\0';\n          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);\n        }" { (expression_statement "x[0] = '\0';" (assignment_expression "x[0] = '\0'" (subscript_expression "x[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[1] = '\0';" (assignment_expression "x[1] = '\0'" (subscript_expression "x[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "x[2] = ' ';" (assignment_expression "x[2] = ' '" (subscript_expression "x[2]" identifier [ number_literal ]) = (char_literal "' '" ' character ')) ;) (expression_statement "x[3] = '\0';" (assignment_expression "x[3] = '\0'" (subscript_expression "x[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*ssh->kex->hash->bytes)(ssh->exhash,x,4);" (call_expression "(*ssh->kex->hash->bytes)(ssh->exhash,x,4)" (parenthesized_expression "(*ssh->kex->hash->bytes)" ( (pointer_expression "*ssh->kex->hash->bytes" * (field_expression "ssh->kex->hash->bytes" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->exhash,x,4)" ( (field_expression "ssh->exhash" identifier -> field_identifier) , identifier , number_literal ))) ;) })) (expression_statement "hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7]);" (call_expression "hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7])" identifier (argument_list "(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[7])" ( (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(Bignum)piVar27[7]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[7]" identifier [ number_literal ])) ))) ;) (expression_statement "hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8]);" (call_expression "hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8])" identifier (argument_list "(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[8])" ( (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(Bignum)piVar27[8]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[8]" identifier [ number_literal ])) ))) ;) (expression_statement "psVar19 = ssh->kex;" (assignment_expression "psVar19 = ssh->kex" identifier = (field_expression "ssh->kex" identifier -> field_identifier)) ;) }))) (expression_statement "hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9]);" (call_expression "hash_mpint(psVar19->hash,ssh->exhash,(Bignum)piVar27[9])" identifier (argument_list "(psVar19->hash,ssh->exhash,(Bignum)piVar27[9])" ( (field_expression "psVar19->hash" identifier -> field_identifier) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(Bignum)piVar27[9]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[9]" identifier [ number_literal ])) ))) ;) (expression_statement "hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10]);" (call_expression "hash_mpint(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10])" identifier (argument_list "(ssh->kex->hash,ssh->exhash,(Bignum)piVar27[10])" ( (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) , (field_expression "ssh->exhash" identifier -> field_identifier) , (cast_expression "(Bignum)piVar27[10]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[10]" identifier [ number_literal ])) ))) ;) (expression_statement "dh_cleanup(ssh->kex_ctx);" (call_expression "dh_cleanup(ssh->kex_ctx)" identifier (argument_list "(ssh->kex_ctx)" ( (field_expression "ssh->kex_ctx" identifier -> field_identifier) ))) ;) comment (expression_statement "freebn((Bignum_conflict)piVar27[10]);" (call_expression "freebn((Bignum_conflict)piVar27[10])" identifier (argument_list "((Bignum_conflict)piVar27[10])" ( (cast_expression "(Bignum_conflict)piVar27[10]" ( (type_descriptor "Bignum_conflict" type_identifier) ) (subscript_expression "piVar27[10]" identifier [ number_literal ])) ))) ;) })) (expression_statement "pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24);" (assignment_expression "pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x6f618))(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f618))" ( (pointer_expression "**(code **)(in_t9 + 0x6f618)" * (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x6f5bc) + 0x5c34,pcVar24)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5c34" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (goto_statement "goto LAB_00043628;" goto statement_identifier ;) })) (if_statement "if (iVar3 != 0x1d8a) {\n    if (iVar3 == 0x1e09) {\n      if (pktin == (Packet *)0x0) {\n        if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }\n      }\n      else if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }\n      if (ssh->protocol_initial_phase_done == 0) {\n        ssh->protocol_initial_phase_done = 1;\n        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n        *piVar27 = 0x1e09;\n        ssh_00 = ssh;\n      }\n      else {\n        *piVar27 = 0x1e09;\n      }\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1cf9) goto LAB_00042f14;\n    ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n    if (pktin == (Packet *)0x0) {\n      if (inlen < 1) {\n        piVar27[0x50] = ssh->user_response;\n        goto LAB_00043094;\n      }\n      goto LAB_000457e0;\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = &ssh_00[0xe].agentfwd_enabled;\n    goto LAB_0004361c;\n  }" if (parenthesized_expression "(iVar3 != 0x1d8a)" ( (binary_expression "iVar3 != 0x1d8a" identifier != number_literal) )) (compound_statement "{\n    if (iVar3 == 0x1e09) {\n      if (pktin == (Packet *)0x0) {\n        if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }\n      }\n      else if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }\n      if (ssh->protocol_initial_phase_done == 0) {\n        ssh->protocol_initial_phase_done = 1;\n        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n        *piVar27 = 0x1e09;\n        ssh_00 = ssh;\n      }\n      else {\n        *piVar27 = 0x1e09;\n      }\n      goto LAB_00042f18;\n    }\n    if (iVar3 != 0x1cf9) goto LAB_00042f14;\n    ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);\n    if (pktin == (Packet *)0x0) {\n      if (inlen < 1) {\n        piVar27[0x50] = ssh->user_response;\n        goto LAB_00043094;\n      }\n      goto LAB_000457e0;\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = &ssh_00[0xe].agentfwd_enabled;\n    goto LAB_0004361c;\n  }" { (if_statement "if (iVar3 == 0x1e09) {\n      if (pktin == (Packet *)0x0) {\n        if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }\n      }\n      else if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }\n      if (ssh->protocol_initial_phase_done == 0) {\n        ssh->protocol_initial_phase_done = 1;\n        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n        *piVar27 = 0x1e09;\n        ssh_00 = ssh;\n      }\n      else {\n        *piVar27 = 0x1e09;\n      }\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(iVar3 == 0x1e09)" ( (binary_expression "iVar3 == 0x1e09" identifier == number_literal) )) (compound_statement "{\n      if (pktin == (Packet *)0x0) {\n        if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }\n      }\n      else if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }\n      if (ssh->protocol_initial_phase_done == 0) {\n        ssh->protocol_initial_phase_done = 1;\n        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n        *piVar27 = 0x1e09;\n        ssh_00 = ssh;\n      }\n      else {\n        *piVar27 = 0x1e09;\n      }\n      goto LAB_00042f18;\n    }" { (if_statement "if (pktin == (Packet *)0x0) {\n        if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }\n      }\n      else if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }" if (parenthesized_expression "(pktin == (Packet *)0x0)" ( (binary_expression "pktin == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }\n      }" { (if_statement "if (inlen < 0) {\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }" if (parenthesized_expression "(inlen < 0)" ( (binary_expression "inlen < 0" identifier < number_literal) )) (compound_statement "{\n          if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }\n          if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }\n          piVar27[0x4b] = 1;\n          if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }\n        }" { (if_statement "if (inlen != -2) {\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }" if (parenthesized_expression "(inlen != -2)" ( (binary_expression "inlen != -2" identifier != number_literal) )) (compound_statement "{\nLAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }\n            logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);\n            ssh->outgoing_data_size = 0;\n            pcVar37 = *(code **)(in_t9 + 0x6f648);\n            ssh->incoming_data_size = 0;\n            (*pcVar37)(ssh->conf,0x1a);\n            return;\n          }" { (labeled_statement "LAB_00044e58:\n            if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }" statement_identifier : (if_statement "if ((ssh->remote_bugs & 0x40U) == 0) {\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }" if (parenthesized_expression "((ssh->remote_bugs & 0x40U) == 0)" ( (binary_expression "(ssh->remote_bugs & 0x40U) == 0" (parenthesized_expression "(ssh->remote_bugs & 0x40U)" ( (binary_expression "ssh->remote_bugs & 0x40U" (field_expression "ssh->remote_bugs" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);\n              FUN_000448a0();\n              return;\n            }" { (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274),vin)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6274)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x6274)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x6274" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (expression_statement "FUN_000448a0();" (call_expression "FUN_000448a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) }))) (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248),vin)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6248)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x6248)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x6248" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (expression_statement "ssh->outgoing_data_size = 0;" (assignment_expression "ssh->outgoing_data_size = 0" (field_expression "ssh->outgoing_data_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f648);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f648)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f648)" * (cast_expression "(code **)(in_t9 + 0x6f648)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f648)" ( (binary_expression "in_t9 + 0x6f648" identifier + number_literal) ))))) ;) (expression_statement "ssh->incoming_data_size = 0;" (assignment_expression "ssh->incoming_data_size = 0" (field_expression "ssh->incoming_data_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "(*pcVar37)(ssh->conf,0x1a);" (call_expression "(*pcVar37)(ssh->conf,0x1a)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(ssh->conf,0x1a)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (piVar27[0x4b] != 0) {\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }" if (parenthesized_expression "(piVar27[0x4b] != 0)" ( (binary_expression "piVar27[0x4b] != 0" (subscript_expression "piVar27[0x4b]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n            return;\n          }" { (expression_statement "(**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);" (call_expression "(**(code **)(in_t9 + 0x6ff40))\n                      (*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" (parenthesized_expression "(**(code **)(in_t9 + 0x6ff40))" ( (pointer_expression "**(code **)(in_t9 + 0x6ff40)" * (pointer_expression "*(code **)(in_t9 + 0x6ff40)" * (cast_expression "(code **)(in_t9 + 0x6ff40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6ff40)" ( (binary_expression "in_t9 + 0x6ff40" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x6f5bc) + 0x6230,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1e21,\n                       *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x6230" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x35c0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x7e6c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar27[0x4b] = 1;" (assignment_expression "piVar27[0x4b] = 1" (subscript_expression "piVar27[0x4b]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar27[0x4c] != 0) {\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }" if (parenthesized_expression "(piVar27[0x4c] != 0)" ( (binary_expression "piVar27[0x4c] != 0" (subscript_expression "piVar27[0x4c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            piVar27[0x4c] = 0;\n            goto LAB_00044e58;\n          }" { (expression_statement "piVar27[0x4c] = 0;" (assignment_expression "piVar27[0x4c] = 0" (subscript_expression "piVar27[0x4c]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00044e58;" goto statement_identifier ;) })) })) }) (else_clause "else if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }" else (if_statement "if (pktin->type == 0x14) {\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }" if (parenthesized_expression "(pktin->type == 0x14)" ( (binary_expression "pktin->type == 0x14" (field_expression "pktin->type" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        (**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);\n        FUN_000448a0();\n        return;\n      }" { (expression_statement "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c);" (call_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n                  (ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c)" (parenthesized_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))" ( (pointer_expression "**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (pointer_expression "*(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (cast_expression "(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (binary_expression "random_add_heavynoise_bitbybit + in_t9 + 4" (binary_expression "random_add_heavynoise_bitbybit + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(in_t9 + 0x6f5bc) + 0x620c)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x620c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_000448a0();" (call_expression "FUN_000448a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))) (if_statement "if (ssh->protocol_initial_phase_done == 0) {\n        ssh->protocol_initial_phase_done = 1;\n        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n        *piVar27 = 0x1e09;\n        ssh_00 = ssh;\n      }\n      else {\n        *piVar27 = 0x1e09;\n      }" if (parenthesized_expression "(ssh->protocol_initial_phase_done == 0)" ( (binary_expression "ssh->protocol_initial_phase_done == 0" (field_expression "ssh->protocol_initial_phase_done" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        ssh->protocol_initial_phase_done = 1;\n        do_ssh2_authconn(ssh,(uchar *)0x0,0,(Packet *)0x0);\n        *piVar27 = 0x1e09;\n        ssh_00 = ssh;\n      }" { (expression_statement "ssh->protocol_initial_phase_done = 1;" (assignment_expression "ssh->protocol_initial_phase_done = 1" (field_expression "ssh->protocol_initial_phase_done" identifier -> field_identifier) = number_literal) ;) (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 "*piVar27 = 0x1e09;" (assignment_expression "*piVar27 = 0x1e09" (pointer_expression "*piVar27" * identifier) = number_literal) ;) (expression_statement "ssh_00 = ssh;" (assignment_expression "ssh_00 = ssh" identifier = identifier) ;) }) (else_clause "else {\n        *piVar27 = 0x1e09;\n      }" else (compound_statement "{\n        *piVar27 = 0x1e09;\n      }" { (expression_statement "*piVar27 = 0x1e09;" (assignment_expression "*piVar27 = 0x1e09" (pointer_expression "*piVar27" * identifier) = number_literal) ;) }))) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (iVar3 != 0x1cf9) goto LAB_00042f14;" if (parenthesized_expression "(iVar3 != 0x1cf9)" ( (binary_expression "iVar3 != 0x1cf9" identifier != number_literal) )) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;)) (expression_statement "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc);" (assignment_expression "ssh_00 = *(Ssh_conflict *)(in_t9 + 0x6f5bc)" identifier = (pointer_expression "*(Ssh_conflict *)(in_t9 + 0x6f5bc)" * (cast_expression "(Ssh_conflict *)(in_t9 + 0x6f5bc)" ( (type_descriptor "Ssh_conflict *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) ))))) ;) (if_statement "if (pktin == (Packet *)0x0) {\n      if (inlen < 1) {\n        piVar27[0x50] = ssh->user_response;\n        goto LAB_00043094;\n      }\n      goto LAB_000457e0;\n    }" if (parenthesized_expression "(pktin == (Packet *)0x0)" ( (binary_expression "pktin == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (inlen < 1) {\n        piVar27[0x50] = ssh->user_response;\n        goto LAB_00043094;\n      }\n      goto LAB_000457e0;\n    }" { (if_statement "if (inlen < 1) {\n        piVar27[0x50] = ssh->user_response;\n        goto LAB_00043094;\n      }" if (parenthesized_expression "(inlen < 1)" ( (binary_expression "inlen < 1" identifier < number_literal) )) (compound_statement "{\n        piVar27[0x50] = ssh->user_response;\n        goto LAB_00043094;\n      }" { (expression_statement "piVar27[0x50] = ssh->user_response;" (assignment_expression "piVar27[0x50] = ssh->user_response" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = (field_expression "ssh->user_response" identifier -> field_identifier)) ;) (goto_statement "goto LAB_00043094;" goto statement_identifier ;) })) (goto_statement "goto LAB_000457e0;" goto statement_identifier ;) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = &ssh_00[0xe].agentfwd_enabled;" (assignment_expression "piVar20 = &ssh_00[0xe].agentfwd_enabled" identifier = (pointer_expression "&ssh_00[0xe].agentfwd_enabled" & (field_expression "ssh_00[0xe].agentfwd_enabled" (subscript_expression "ssh_00[0xe]" identifier [ number_literal ]) . field_identifier))) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (pktin == (Packet *)0x0) goto LAB_000434a4;" if (parenthesized_expression "(pktin == (Packet *)0x0)" ( (binary_expression "pktin == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000434a4;" goto statement_identifier ;)) (if_statement "if (pktin->type != 0x15) {\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6160);\n    goto LAB_0004361c;\n  }" if (parenthesized_expression "(pktin->type != 0x15)" ( (binary_expression "pktin->type != 0x15" (field_expression "pktin->type" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    pcVar37 = *(code **)(in_t9 + 0x6f618);\n    piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6160);\n    goto LAB_0004361c;\n  }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6160);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6160)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x6160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x6160)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x6160" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "ssh->incoming_data_size = 0;" (assignment_expression "ssh->incoming_data_size = 0" (field_expression "ssh->incoming_data_size" identifier -> field_identifier) = number_literal) ;) (if_statement "if (ssh->sc_cipher_ctx != (void *)0x0) {\n    (*ssh->sccipher->free_context)(ssh->sc_cipher_ctx);\n  }" if (parenthesized_expression "(ssh->sc_cipher_ctx != (void *)0x0)" ( (binary_expression "ssh->sc_cipher_ctx != (void *)0x0" (field_expression "ssh->sc_cipher_ctx" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*ssh->sccipher->free_context)(ssh->sc_cipher_ctx);\n  }" { (expression_statement "(*ssh->sccipher->free_context)(ssh->sc_cipher_ctx);" (call_expression "(*ssh->sccipher->free_context)(ssh->sc_cipher_ctx)" (parenthesized_expression "(*ssh->sccipher->free_context)" ( (pointer_expression "*ssh->sccipher->free_context" * (field_expression "ssh->sccipher->free_context" (field_expression "ssh->sccipher" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->sc_cipher_ctx)" ( (field_expression "ssh->sc_cipher_ctx" identifier -> field_identifier) ))) ;) })) (expression_statement "psVar4 = (ssh2_cipher *)piVar27[0x13];" (assignment_expression "psVar4 = (ssh2_cipher *)piVar27[0x13]" identifier = (cast_expression "(ssh2_cipher *)piVar27[0x13]" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x13]" identifier [ number_literal ]))) ;) (if_statement "if (psVar4 != (ssh2_cipher *)0x0) {\n    p_Var34 = psVar4->make_context;\n    ssh->sccipher = psVar4;\n    pvVar13 = (*p_Var34)();\n    ssh->sc_cipher_ctx = pvVar13;\n  }" if (parenthesized_expression "(psVar4 != (ssh2_cipher *)0x0)" ( (binary_expression "psVar4 != (ssh2_cipher *)0x0" identifier != (cast_expression "(ssh2_cipher *)0x0" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    p_Var34 = psVar4->make_context;\n    ssh->sccipher = psVar4;\n    pvVar13 = (*p_Var34)();\n    ssh->sc_cipher_ctx = pvVar13;\n  }" { (expression_statement "p_Var34 = psVar4->make_context;" (assignment_expression "p_Var34 = psVar4->make_context" identifier = (field_expression "psVar4->make_context" identifier -> field_identifier)) ;) (expression_statement "ssh->sccipher = psVar4;" (assignment_expression "ssh->sccipher = psVar4" (field_expression "ssh->sccipher" identifier -> field_identifier) = identifier) ;) (expression_statement "pvVar13 = (*p_Var34)();" (assignment_expression "pvVar13 = (*p_Var34)()" identifier = (call_expression "(*p_Var34)()" (parenthesized_expression "(*p_Var34)" ( (pointer_expression "*p_Var34" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "ssh->sc_cipher_ctx = pvVar13;" (assignment_expression "ssh->sc_cipher_ctx = pvVar13" (field_expression "ssh->sc_cipher_ctx" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (ssh->sc_mac_ctx != (void *)0x0) {\n    (*ssh->scmac->free_context)(ssh->sc_mac_ctx);\n  }" if (parenthesized_expression "(ssh->sc_mac_ctx != (void *)0x0)" ( (binary_expression "ssh->sc_mac_ctx != (void *)0x0" (field_expression "ssh->sc_mac_ctx" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*ssh->scmac->free_context)(ssh->sc_mac_ctx);\n  }" { (expression_statement "(*ssh->scmac->free_context)(ssh->sc_mac_ctx);" (call_expression "(*ssh->scmac->free_context)(ssh->sc_mac_ctx)" (parenthesized_expression "(*ssh->scmac->free_context)" ( (pointer_expression "*ssh->scmac->free_context" * (field_expression "ssh->scmac->free_context" (field_expression "ssh->scmac" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->sc_mac_ctx)" ( (field_expression "ssh->sc_mac_ctx" identifier -> field_identifier) ))) ;) })) (expression_statement "psVar5 = (ssh_mac *)piVar27[0x15];" (assignment_expression "psVar5 = (ssh_mac *)piVar27[0x15]" identifier = (cast_expression "(ssh_mac *)piVar27[0x15]" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x15]" identifier [ number_literal ]))) ;) (if_statement "if (psVar5 != (ssh_mac *)0x0) {\n    iVar15 = piVar27[0x17];\n    p_Var35 = psVar5->make_context;\n    ssh->scmac = psVar5;\n    ssh->scmac_etm = iVar15;\n    pvVar13 = (*p_Var35)(ssh->sc_cipher_ctx);\n    ssh->sc_mac_ctx = pvVar13;\n  }" if (parenthesized_expression "(psVar5 != (ssh_mac *)0x0)" ( (binary_expression "psVar5 != (ssh_mac *)0x0" identifier != (cast_expression "(ssh_mac *)0x0" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar15 = piVar27[0x17];\n    p_Var35 = psVar5->make_context;\n    ssh->scmac = psVar5;\n    ssh->scmac_etm = iVar15;\n    pvVar13 = (*p_Var35)(ssh->sc_cipher_ctx);\n    ssh->sc_mac_ctx = pvVar13;\n  }" { (expression_statement "iVar15 = piVar27[0x17];" (assignment_expression "iVar15 = piVar27[0x17]" identifier = (subscript_expression "piVar27[0x17]" identifier [ number_literal ])) ;) (expression_statement "p_Var35 = psVar5->make_context;" (assignment_expression "p_Var35 = psVar5->make_context" identifier = (field_expression "psVar5->make_context" identifier -> field_identifier)) ;) (expression_statement "ssh->scmac = psVar5;" (assignment_expression "ssh->scmac = psVar5" (field_expression "ssh->scmac" identifier -> field_identifier) = identifier) ;) (expression_statement "ssh->scmac_etm = iVar15;" (assignment_expression "ssh->scmac_etm = iVar15" (field_expression "ssh->scmac_etm" identifier -> field_identifier) = identifier) ;) (expression_statement "pvVar13 = (*p_Var35)(ssh->sc_cipher_ctx);" (assignment_expression "pvVar13 = (*p_Var35)(ssh->sc_cipher_ctx)" identifier = (call_expression "(*p_Var35)(ssh->sc_cipher_ctx)" (parenthesized_expression "(*p_Var35)" ( (pointer_expression "*p_Var35" * identifier) )) (argument_list "(ssh->sc_cipher_ctx)" ( (field_expression "ssh->sc_cipher_ctx" identifier -> field_identifier) )))) ;) (expression_statement "ssh->sc_mac_ctx = pvVar13;" (assignment_expression "ssh->sc_mac_ctx = pvVar13" (field_expression "ssh->sc_mac_ctx" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (ssh->sc_comp_ctx != (void *)0x0) {\n    (*ssh->sccomp->decompress_cleanup)(ssh->sc_comp_ctx);\n  }" if (parenthesized_expression "(ssh->sc_comp_ctx != (void *)0x0)" ( (binary_expression "ssh->sc_comp_ctx != (void *)0x0" (field_expression "ssh->sc_comp_ctx" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*ssh->sccomp->decompress_cleanup)(ssh->sc_comp_ctx);\n  }" { (expression_statement "(*ssh->sccomp->decompress_cleanup)(ssh->sc_comp_ctx);" (call_expression "(*ssh->sccomp->decompress_cleanup)(ssh->sc_comp_ctx)" (parenthesized_expression "(*ssh->sccomp->decompress_cleanup)" ( (pointer_expression "*ssh->sccomp->decompress_cleanup" * (field_expression "ssh->sccomp->decompress_cleanup" (field_expression "ssh->sccomp" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->sc_comp_ctx)" ( (field_expression "ssh->sc_comp_ctx" identifier -> field_identifier) ))) ;) })) (expression_statement "psVar6 = (ssh_compress *)piVar27[0x19];" (assignment_expression "psVar6 = (ssh_compress *)piVar27[0x19]" identifier = (cast_expression "(ssh_compress *)piVar27[0x19]" ( (type_descriptor "ssh_compress *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x19]" identifier [ number_literal ]))) ;) (expression_statement "ssh->sccomp = psVar6;" (assignment_expression "ssh->sccomp = psVar6" (field_expression "ssh->sccomp" identifier -> field_identifier) = identifier) ;) (expression_statement "pvVar13 = (*psVar6->decompress_init)();" (assignment_expression "pvVar13 = (*psVar6->decompress_init)()" identifier = (call_expression "(*psVar6->decompress_init)()" (parenthesized_expression "(*psVar6->decompress_init)" ( (pointer_expression "*psVar6->decompress_init" * (field_expression "psVar6->decompress_init" identifier -> field_identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "ssh->sc_comp_ctx = pvVar13;" (assignment_expression "ssh->sc_comp_ctx = pvVar13" (field_expression "ssh->sc_comp_ctx" identifier -> field_identifier) = identifier) ;) (if_statement "if (ssh->sccipher != (ssh2_cipher *)0x0) {\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',\n                         ssh->sccipher->padded_keybytes);\n    (*ssh->sccipher->setkey)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->padded_keybytes);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',\n                         ssh->sccipher->blksize);\n    (*ssh->sccipher->setiv)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->blksize);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n  }" if (parenthesized_expression "(ssh->sccipher != (ssh2_cipher *)0x0)" ( (binary_expression "ssh->sccipher != (ssh2_cipher *)0x0" (field_expression "ssh->sccipher" identifier -> field_identifier) != (cast_expression "(ssh2_cipher *)0x0" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',\n                         ssh->sccipher->padded_keybytes);\n    (*ssh->sccipher->setkey)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->padded_keybytes);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',\n                         ssh->sccipher->blksize);\n    (*ssh->sccipher->setiv)(ssh->sc_cipher_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->blksize);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n  }" { (expression_statement "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',\n                         ssh->sccipher->padded_keybytes);" (assignment_expression "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',\n                         ssh->sccipher->padded_keybytes)" identifier = (call_expression "ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',\n                         ssh->sccipher->padded_keybytes)" identifier (argument_list "(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'D',\n                         ssh->sccipher->padded_keybytes)" ( identifier , (cast_expression "(Bignum)piVar27[0xb]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) , (cast_expression "(uchar *)(piVar27 + 0x25)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 0x25)" ( (binary_expression "piVar27 + 0x25" identifier + number_literal) ))) , (char_literal "'D'" ' character ') , (field_expression "ssh->sccipher->padded_keybytes" (field_expression "ssh->sccipher" identifier -> field_identifier) -> field_identifier) )))) ;) (expression_statement "(*ssh->sccipher->setkey)(ssh->sc_cipher_ctx,puVar25);" (call_expression "(*ssh->sccipher->setkey)(ssh->sc_cipher_ctx,puVar25)" (parenthesized_expression "(*ssh->sccipher->setkey)" ( (pointer_expression "*ssh->sccipher->setkey" * (field_expression "ssh->sccipher->setkey" (field_expression "ssh->sccipher" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->sc_cipher_ctx,puVar25)" ( (field_expression "ssh->sc_cipher_ctx" identifier -> field_identifier) , identifier ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->padded_keybytes);" (call_expression "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->padded_keybytes)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f674))" ( (pointer_expression "**(code **)(in_t9 + 0x6f674)" * (pointer_expression "*(code **)(in_t9 + 0x6f674)" * (cast_expression "(code **)(in_t9 + 0x6f674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f674)" ( (binary_expression "in_t9 + 0x6f674" identifier + number_literal) ))))) )) (argument_list "(puVar25,ssh->sccipher->padded_keybytes)" ( identifier , (field_expression "ssh->sccipher->padded_keybytes" (field_expression "ssh->sccipher" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(puVar25);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(puVar25)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))) ;) (expression_statement "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',\n                         ssh->sccipher->blksize);" (assignment_expression "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',\n                         ssh->sccipher->blksize)" identifier = (call_expression "ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',\n                         ssh->sccipher->blksize)" identifier (argument_list "(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'B',\n                         ssh->sccipher->blksize)" ( identifier , (cast_expression "(Bignum)piVar27[0xb]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) , (cast_expression "(uchar *)(piVar27 + 0x25)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 0x25)" ( (binary_expression "piVar27 + 0x25" identifier + number_literal) ))) , (char_literal "'B'" ' character ') , (field_expression "ssh->sccipher->blksize" (field_expression "ssh->sccipher" identifier -> field_identifier) -> field_identifier) )))) ;) (expression_statement "(*ssh->sccipher->setiv)(ssh->sc_cipher_ctx,puVar25);" (call_expression "(*ssh->sccipher->setiv)(ssh->sc_cipher_ctx,puVar25)" (parenthesized_expression "(*ssh->sccipher->setiv)" ( (pointer_expression "*ssh->sccipher->setiv" * (field_expression "ssh->sccipher->setiv" (field_expression "ssh->sccipher" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->sc_cipher_ctx,puVar25)" ( (field_expression "ssh->sc_cipher_ctx" identifier -> field_identifier) , identifier ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->blksize);" (call_expression "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->sccipher->blksize)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f674))" ( (pointer_expression "**(code **)(in_t9 + 0x6f674)" * (pointer_expression "*(code **)(in_t9 + 0x6f674)" * (cast_expression "(code **)(in_t9 + 0x6f674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f674)" ( (binary_expression "in_t9 + 0x6f674" identifier + number_literal) ))))) )) (argument_list "(puVar25,ssh->sccipher->blksize)" ( identifier , (field_expression "ssh->sccipher->blksize" (field_expression "ssh->sccipher" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(puVar25);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(puVar25)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))) ;) })) (if_statement "if (ssh->scmac == (ssh_mac *)0x0) {\n    psVar4 = ssh->sccipher;\n    if (psVar4 == (ssh2_cipher *)0x0) {\n      psVar6 = ssh->sccomp;\n      goto LAB_0004483c;\n    }\nLAB_000447c0:\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name);\n  }\n  else {\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen);\n    (*ssh->scmac->setkey)(ssh->sc_mac_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->scmac->keylen);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    psVar4 = ssh->sccipher;\n    if (psVar4 != (ssh2_cipher *)0x0) goto LAB_000447c0;\n  }" if (parenthesized_expression "(ssh->scmac == (ssh_mac *)0x0)" ( (binary_expression "ssh->scmac == (ssh_mac *)0x0" (field_expression "ssh->scmac" identifier -> field_identifier) == (cast_expression "(ssh_mac *)0x0" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    psVar4 = ssh->sccipher;\n    if (psVar4 == (ssh2_cipher *)0x0) {\n      psVar6 = ssh->sccomp;\n      goto LAB_0004483c;\n    }\nLAB_000447c0:\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name);\n  }" { (expression_statement "psVar4 = ssh->sccipher;" (assignment_expression "psVar4 = ssh->sccipher" identifier = (field_expression "ssh->sccipher" identifier -> field_identifier)) ;) (if_statement "if (psVar4 == (ssh2_cipher *)0x0) {\n      psVar6 = ssh->sccomp;\n      goto LAB_0004483c;\n    }" if (parenthesized_expression "(psVar4 == (ssh2_cipher *)0x0)" ( (binary_expression "psVar4 == (ssh2_cipher *)0x0" identifier == (cast_expression "(ssh2_cipher *)0x0" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar6 = ssh->sccomp;\n      goto LAB_0004483c;\n    }" { (expression_statement "psVar6 = ssh->sccomp;" (assignment_expression "psVar6 = ssh->sccomp" identifier = (field_expression "ssh->sccomp" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0004483c;" goto statement_identifier ;) })) (labeled_statement "LAB_000447c0:\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name);" statement_identifier : (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188),psVar4->text_name)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6188)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x6188)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x6188" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , (field_expression "psVar4->text_name" identifier -> field_identifier) ))) ;)) }) (else_clause "else {\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen);\n    (*ssh->scmac->setkey)(ssh->sc_mac_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->scmac->keylen);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    psVar4 = ssh->sccipher;\n    if (psVar4 != (ssh2_cipher *)0x0) goto LAB_000447c0;\n  }" else (compound_statement "{\n    puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen);\n    (*ssh->scmac->setkey)(ssh->sc_mac_ctx,puVar25);\n    (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->scmac->keylen);\n    (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n    psVar4 = ssh->sccipher;\n    if (psVar4 != (ssh2_cipher *)0x0) goto LAB_000447c0;\n  }" { (expression_statement "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen);" (assignment_expression "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen)" identifier = (call_expression "ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen)" identifier (argument_list "(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'F',ssh->scmac->keylen)" ( identifier , (cast_expression "(Bignum)piVar27[0xb]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) , (cast_expression "(uchar *)(piVar27 + 0x25)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 0x25)" ( (binary_expression "piVar27 + 0x25" identifier + number_literal) ))) , (char_literal "'F'" ' character ') , (field_expression "ssh->scmac->keylen" (field_expression "ssh->scmac" identifier -> field_identifier) -> field_identifier) )))) ;) (expression_statement "(*ssh->scmac->setkey)(ssh->sc_mac_ctx,puVar25);" (call_expression "(*ssh->scmac->setkey)(ssh->sc_mac_ctx,puVar25)" (parenthesized_expression "(*ssh->scmac->setkey)" ( (pointer_expression "*ssh->scmac->setkey" * (field_expression "ssh->scmac->setkey" (field_expression "ssh->scmac" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->sc_mac_ctx,puVar25)" ( (field_expression "ssh->sc_mac_ctx" identifier -> field_identifier) , identifier ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->scmac->keylen);" (call_expression "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->scmac->keylen)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f674))" ( (pointer_expression "**(code **)(in_t9 + 0x6f674)" * (pointer_expression "*(code **)(in_t9 + 0x6f674)" * (cast_expression "(code **)(in_t9 + 0x6f674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f674)" ( (binary_expression "in_t9 + 0x6f674" identifier + number_literal) ))))) )) (argument_list "(puVar25,ssh->scmac->keylen)" ( identifier , (field_expression "ssh->scmac->keylen" (field_expression "ssh->scmac" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(puVar25);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(puVar25)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))) ;) (expression_statement "psVar4 = ssh->sccipher;" (assignment_expression "psVar4 = ssh->sccipher" identifier = (field_expression "ssh->sccipher" identifier -> field_identifier)) ;) (if_statement "if (psVar4 != (ssh2_cipher *)0x0) goto LAB_000447c0;" if (parenthesized_expression "(psVar4 != (ssh2_cipher *)0x0)" ( (binary_expression "psVar4 != (ssh2_cipher *)0x0" identifier != (cast_expression "(ssh2_cipher *)0x0" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000447c0;" goto statement_identifier ;)) }))) (if_statement "if (ssh->scmac != (ssh_mac *)0x0) {\n    if (ssh->scmac_etm == 0) {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n    }\n    if (ssh->sccipher->required_mac == (ssh_mac *)0x0) {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,iVar15,iVar22);\n  }" if (parenthesized_expression "(ssh->scmac != (ssh_mac *)0x0)" ( (binary_expression "ssh->scmac != (ssh_mac *)0x0" (field_expression "ssh->scmac" identifier -> field_identifier) != (cast_expression "(ssh_mac *)0x0" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (ssh->scmac_etm == 0) {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n    }\n    if (ssh->sccipher->required_mac == (ssh_mac *)0x0) {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,iVar15,iVar22);\n  }" { (if_statement "if (ssh->scmac_etm == 0) {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n    }" if (parenthesized_expression "(ssh->scmac_etm == 0)" ( (binary_expression "ssh->scmac_etm == 0" (field_expression "ssh->scmac_etm" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }" { (expression_statement "iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;" (assignment_expression "iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x4f64" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n    }" else (compound_statement "{\n      iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n    }" { (expression_statement "iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;" (assignment_expression "iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x585c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (ssh->sccipher->required_mac == (ssh_mac *)0x0) {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }\n    else {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n    }" if (parenthesized_expression "(ssh->sccipher->required_mac == (ssh_mac *)0x0)" ( (binary_expression "ssh->sccipher->required_mac == (ssh_mac *)0x0" (field_expression "ssh->sccipher->required_mac" (field_expression "ssh->sccipher" identifier -> field_identifier) -> field_identifier) == (cast_expression "(ssh_mac *)0x0" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n    }" { (expression_statement "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;" (assignment_expression "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x4f64" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n    }" else (compound_statement "{\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n    }" { (expression_statement "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;" (assignment_expression "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x586c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,iVar15,iVar22);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,iVar15,iVar22)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,iVar15,iVar22)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61b8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x61b8)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x61b8" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , (field_expression "ssh->scmac->text_name" (field_expression "ssh->scmac" identifier -> field_identifier) -> field_identifier) , identifier , identifier ))) ;) })) (expression_statement "psVar6 = ssh->sccomp;" (assignment_expression "psVar6 = ssh->sccomp" identifier = (field_expression "ssh->sccomp" identifier -> field_identifier)) ;) (labeled_statement "LAB_0004483c:\n  if (psVar6->text_name != (char *)0x0) {\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec));\n  }" statement_identifier : (if_statement "if (psVar6->text_name != (char *)0x0) {\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec));\n  }" if (parenthesized_expression "(psVar6->text_name != (char *)0x0)" ( (binary_expression "psVar6->text_name != (char *)0x0" (field_expression "psVar6->text_name" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec));\n  }" { (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec));" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec))" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec))" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x61ec)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x61ec)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x61ec" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ))) ;) }))) comment (expression_statement "freebn((Bignum_conflict)piVar27[0xb]);" (call_expression "freebn((Bignum_conflict)piVar27[0xb])" identifier (argument_list "((Bignum_conflict)piVar27[0xb])" ( (cast_expression "(Bignum_conflict)piVar27[0xb]" ( (type_descriptor "Bignum_conflict" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) ))) ;) (labeled_statement "code_r0x00043b68:\n  if ((uStack_6c < 2) &&\n     (iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0)) {\n    piVar27[0x4c] = 1;\n  }" statement_identifier : (if_statement "if ((uStack_6c < 2) &&\n     (iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0)) {\n    piVar27[0x4c] = 1;\n  }" if (parenthesized_expression "((uStack_6c < 2) &&\n     (iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0))" ( (binary_expression "(uStack_6c < 2) &&\n     (iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0)" (parenthesized_expression "(uStack_6c < 2)" ( (binary_expression "uStack_6c < 2" identifier < number_literal) )) && (parenthesized_expression "(iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0)" ( (comma_expression "iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3), iVar8 != 0" (assignment_expression "iVar8 = (*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3)" identifier = (call_expression "(*pcVar38)(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(*(undefined4 *)(piVar20[0x54] + 4),pcVar24,iVar3)" ( (pointer_expression "*(undefined4 *)(piVar20[0x54] + 4)" * (cast_expression "(undefined4 *)(piVar20[0x54] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x54] + 4)" ( (binary_expression "piVar20[0x54] + 4" (subscript_expression "piVar20[0x54]" identifier [ number_literal ]) + number_literal) )))) , identifier , identifier )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    piVar27[0x4c] = 1;\n  }" { (expression_statement "piVar27[0x4c] = 1;" (assignment_expression "piVar27[0x4c] = 1" (subscript_expression "piVar27[0x4c]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "iVar33 = iVar33 + 1;" (assignment_expression "iVar33 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) (expression_statement "piVar20 = piVar20 + 3;" (assignment_expression "piVar20 = piVar20 + 3" identifier = (binary_expression "piVar20 + 3" identifier + number_literal)) ;) (if_statement "if (iVar33 == 0x10) {\nLAB_00043b7c:\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24);\n    goto LAB_00043628;\n  }" if (parenthesized_expression "(iVar33 == 0x10)" ( (binary_expression "iVar33 == 0x10" identifier == number_literal) )) (compound_statement "{\nLAB_00043b7c:\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24);\n    goto LAB_00043628;\n  }" { (labeled_statement "LAB_00043b7c:\n    pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24);" statement_identifier : (expression_statement "pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24);" (assignment_expression "pcVar24 = (char *)(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x6f618))\n                                (*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f618))" ( (pointer_expression "**(code **)(in_t9 + 0x6f618)" * (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x6f5bc) + 0x59c8,kexlist_descr[uStack_74],iVar3,\n                                 pcVar24)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x59c8" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , (subscript_expression "kexlist_descr[uStack_74]" identifier [ identifier ]) , identifier , identifier ))))) ;)) (goto_statement "goto LAB_00043628;" goto statement_identifier ;) })) (goto_statement "goto LAB_00043b44;" goto statement_identifier ;) (labeled_statement "LAB_000456a8:\n  if (iVar15 != 0) {\n    if (iVar3 < 2) {\n      iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;\n    }\n    else {\n      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22);\n    (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n  }" statement_identifier : (if_statement "if (iVar15 != 0) {\n    if (iVar3 < 2) {\n      iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;\n    }\n    else {\n      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22);\n    (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n  }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n    if (iVar3 < 2) {\n      iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;\n    }\n    else {\n      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;\n    }\n    logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22);\n    (**(code **)(in_t9 + 0x6f5e4))(iVar15);\n  }" { (if_statement "if (iVar3 < 2) {\n      iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;\n    }\n    else {\n      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;\n    }" if (parenthesized_expression "(iVar3 < 2)" ( (binary_expression "iVar3 < 2" identifier < number_literal) )) (compound_statement "{\n      iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;\n    }" { (expression_statement "iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;" (assignment_expression "iVar3 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x4f64" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608;" (assignment_expression "iVar22 = *(int *)(in_t9 + 0x6f5bc) + -0x608" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + -0x608" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;\n    }" else (compound_statement "{\n      iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;\n      iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;\n    }" { (expression_statement "iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330;" (assignment_expression "iVar3 = *(int *)(in_t9 + 0x6f604) + 0x330" identifier = (binary_expression "*(int *)(in_t9 + 0x6f604) + 0x330" (pointer_expression "*(int *)(in_t9 + 0x6f604)" * (cast_expression "(int *)(in_t9 + 0x6f604)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f604)" ( (binary_expression "in_t9 + 0x6f604" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850;" (assignment_expression "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x5850" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5850" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c),iVar15,iVar3,iVar22)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5f5c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5f5c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier , identifier ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(iVar15);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(iVar15)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(iVar15)" ( identifier ))) ;) }))) (expression_statement "iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22]);" (assignment_expression "iVar15 = (**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22])" identifier = (call_expression "(**(code **)(in_t9 + 0x6fc0c))(ssh->hostkey,piVar27[0x22])" (parenthesized_expression "(**(code **)(in_t9 + 0x6fc0c))" ( (pointer_expression "**(code **)(in_t9 + 0x6fc0c)" * (pointer_expression "*(code **)(in_t9 + 0x6fc0c)" * (cast_expression "(code **)(in_t9 + 0x6fc0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fc0c)" ( (binary_expression "in_t9 + 0x6fc0c" identifier + number_literal) ))))) )) (argument_list "(ssh->hostkey,piVar27[0x22])" ( (field_expression "ssh->hostkey" identifier -> field_identifier) , (subscript_expression "piVar27[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "pvVar13 = ssh->frontend;" (assignment_expression "pvVar13 = ssh->frontend" identifier = (field_expression "ssh->frontend" identifier -> field_identifier)) ;) (expression_statement "piVar27[0x1e] = iVar15;" (assignment_expression "piVar27[0x1e] = iVar15" (subscript_expression "piVar27[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n            (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x5f90);" (call_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))\n            (pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x5f90)" (parenthesized_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))" ( (pointer_expression "**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (pointer_expression "*(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (cast_expression "(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (binary_expression "random_add_heavynoise_bitbybit + in_t9 + 4" (binary_expression "random_add_heavynoise_bitbybit + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(pvVar13,*(int *)(in_t9 + 0x6f5bc) + 0x5f90)" ( identifier , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5f90" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e]);" (call_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))(ssh->frontend,piVar27[0x1e])" (parenthesized_expression "(**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4))" ( (pointer_expression "**(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (pointer_expression "*(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" * (cast_expression "(code **)(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(random_add_heavynoise_bitbybit + in_t9 + 4)" ( (binary_expression "random_add_heavynoise_bitbybit + in_t9 + 4" (binary_expression "random_add_heavynoise_bitbybit + in_t9" identifier + identifier) + number_literal) ))))) )) (argument_list "(ssh->frontend,piVar27[0x1e])" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (subscript_expression "piVar27[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar15 = verify_ssh_manual_host_key(ssh,(char *)piVar27[0x1e],ssh->hostkey,(void *)piVar27[0x22]);" (assignment_expression "iVar15 = verify_ssh_manual_host_key(ssh,(char *)piVar27[0x1e],ssh->hostkey,(void *)piVar27[0x22])" identifier = (call_expression "verify_ssh_manual_host_key(ssh,(char *)piVar27[0x1e],ssh->hostkey,(void *)piVar27[0x22])" identifier (argument_list "(ssh,(char *)piVar27[0x1e],ssh->hostkey,(void *)piVar27[0x22])" ( identifier , (cast_expression "(char *)piVar27[0x1e]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1e]" identifier [ number_literal ])) , (field_expression "ssh->hostkey" identifier -> field_identifier) , (cast_expression "(void *)piVar27[0x22]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x22]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar27[0x50] = iVar15;" (assignment_expression "piVar27[0x50] = iVar15" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 != 0) {\n    pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n    if (-1 < iVar15) {\nLAB_000430c8:\n      (*pcVar37)(piVar27[0x1e]);\n      ssh->hostkey_str = (char *)piVar27[0x1d];\nLAB_000430d8:\n      psVar17 = ssh->hostkey;\nLAB_000430dc:\n      (*psVar17->freekey)((void *)piVar27[0x22]);\n      if (piVar27[0x4d] == 0) {\n        piVar20 = piVar27 + 0x25;\n        puVar25 = ssh->v2_session_id;\n        do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);\n        uVar14 = ssh->kex->hash->hlen;\n        ssh->v2_session_id_len = uVar14;\n        if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        piVar27[0x4d] = 1;\n      }\n      pPVar26 = ssh2_pkt_init(0x15);\n      piVar27[0x4f] = (int)pPVar26;\n      ssh2_pkt_send_noqueue(ssh,pPVar26);\n      ssh->outgoing_data_size = 0;\n      if (ssh->cs_cipher_ctx != (void *)0x0) {\n        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);\n      }\n      psVar4 = (ssh2_cipher *)piVar27[0x12];\n      ssh->cscipher = psVar4;\n      if (psVar4 != (ssh2_cipher *)0x0) {\n        pvVar13 = (*psVar4->make_context)();\n        ssh->cs_cipher_ctx = pvVar13;\n      }\n      if (ssh->cs_mac_ctx != (void *)0x0) {\n        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);\n      }\n      psVar5 = (ssh_mac *)piVar27[0x14];\n      iVar15 = piVar27[0x16];\n      ssh->csmac = psVar5;\n      ssh->csmac_etm = iVar15;\n      if (psVar5 != (ssh_mac *)0x0) {\n        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);\n        ssh->cs_mac_ctx = pvVar13;\n      }\n      if (ssh->cs_comp_ctx != (void *)0x0) {\n        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);\n      }\n      psVar6 = (ssh_compress *)piVar27[0x18];\n      ssh->cscomp = psVar6;\n      pvVar13 = (*psVar6->compress_init)();\n      ssh->cs_comp_ctx = pvVar13;\n      if (ssh->cscipher != (ssh2_cipher *)0x0) {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);\n        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);\n        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n      }\n      if (ssh->csmac == (ssh_mac *)0x0) {\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;\n        psVar6 = ssh->cscomp;\n      }\n      else {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }\n      if (psVar6->text_name != (char *)0x0) {\n        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));\n      }\n      ssh->queueing = 0;\n      if (0 < ssh->queuelen) {\n        iStack_80 = 0;\n        do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);\n      }\n      ssh->queuelen = 0;\n      ssh_pkt_defersend(ssh);\n      ssh_00 = ssh;\nLAB_000434a4:\n      *piVar27 = 0x1d8a;\n      goto LAB_00042f18;\n    }\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6fc14);\n    pcVar24 = ssh->hostkey->keytype;\n    iVar15 = *(int *)(in_t9 + 0x6fb0c);\n    iVar22 = piVar27[0x1e];\n    ssh_00 = (Ssh_conflict)ssh->frontend;\n    ssh->frozen = 1;\n    iVar15 = (*pcVar37)(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,\n                        iVar15 + -0xf58,ssh);\n    piVar27[0x50] = iVar15;\n    if (iVar15 < 0) {\nLAB_000457e0:\n      *piVar27 = 0x1cf9;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,0);\n    }\n    ssh->frozen = 0;\n    if (piVar27[0x50] != 0) {\n      pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n      goto LAB_000430c8;\n    }\n    pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6028);\nLAB_00045800:\n    ssh_disconnect(ssh,pcVar24,(char *)0x0,0,1);\n    *piVar27 = 0;\n    ssh_00 = ssh;\n    goto LAB_00042f18;\n  }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n    if (-1 < iVar15) {\nLAB_000430c8:\n      (*pcVar37)(piVar27[0x1e]);\n      ssh->hostkey_str = (char *)piVar27[0x1d];\nLAB_000430d8:\n      psVar17 = ssh->hostkey;\nLAB_000430dc:\n      (*psVar17->freekey)((void *)piVar27[0x22]);\n      if (piVar27[0x4d] == 0) {\n        piVar20 = piVar27 + 0x25;\n        puVar25 = ssh->v2_session_id;\n        do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);\n        uVar14 = ssh->kex->hash->hlen;\n        ssh->v2_session_id_len = uVar14;\n        if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        piVar27[0x4d] = 1;\n      }\n      pPVar26 = ssh2_pkt_init(0x15);\n      piVar27[0x4f] = (int)pPVar26;\n      ssh2_pkt_send_noqueue(ssh,pPVar26);\n      ssh->outgoing_data_size = 0;\n      if (ssh->cs_cipher_ctx != (void *)0x0) {\n        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);\n      }\n      psVar4 = (ssh2_cipher *)piVar27[0x12];\n      ssh->cscipher = psVar4;\n      if (psVar4 != (ssh2_cipher *)0x0) {\n        pvVar13 = (*psVar4->make_context)();\n        ssh->cs_cipher_ctx = pvVar13;\n      }\n      if (ssh->cs_mac_ctx != (void *)0x0) {\n        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);\n      }\n      psVar5 = (ssh_mac *)piVar27[0x14];\n      iVar15 = piVar27[0x16];\n      ssh->csmac = psVar5;\n      ssh->csmac_etm = iVar15;\n      if (psVar5 != (ssh_mac *)0x0) {\n        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);\n        ssh->cs_mac_ctx = pvVar13;\n      }\n      if (ssh->cs_comp_ctx != (void *)0x0) {\n        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);\n      }\n      psVar6 = (ssh_compress *)piVar27[0x18];\n      ssh->cscomp = psVar6;\n      pvVar13 = (*psVar6->compress_init)();\n      ssh->cs_comp_ctx = pvVar13;\n      if (ssh->cscipher != (ssh2_cipher *)0x0) {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);\n        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);\n        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n      }\n      if (ssh->csmac == (ssh_mac *)0x0) {\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;\n        psVar6 = ssh->cscomp;\n      }\n      else {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }\n      if (psVar6->text_name != (char *)0x0) {\n        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));\n      }\n      ssh->queueing = 0;\n      if (0 < ssh->queuelen) {\n        iStack_80 = 0;\n        do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);\n      }\n      ssh->queuelen = 0;\n      ssh_pkt_defersend(ssh);\n      ssh_00 = ssh;\nLAB_000434a4:\n      *piVar27 = 0x1d8a;\n      goto LAB_00042f18;\n    }\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n    }\n    pcVar37 = *(code **)(in_t9 + 0x6fc14);\n    pcVar24 = ssh->hostkey->keytype;\n    iVar15 = *(int *)(in_t9 + 0x6fb0c);\n    iVar22 = piVar27[0x1e];\n    ssh_00 = (Ssh_conflict)ssh->frontend;\n    ssh->frozen = 1;\n    iVar15 = (*pcVar37)(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,\n                        iVar15 + -0xf58,ssh);\n    piVar27[0x50] = iVar15;\n    if (iVar15 < 0) {\nLAB_000457e0:\n      *piVar27 = 0x1cf9;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    ppsVar18 = ssh->s;\n    if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,0);\n    }\n    ssh->frozen = 0;\n    if (piVar27[0x50] != 0) {\n      pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n      goto LAB_000430c8;\n    }\n    pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6028);\nLAB_00045800:\n    ssh_disconnect(ssh,pcVar24,(char *)0x0,0,1);\n    *piVar27 = 0;\n    ssh_00 = ssh;\n    goto LAB_00042f18;\n  }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f5e4);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f5e4)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) ;) (if_statement "if (-1 < iVar15) {\nLAB_000430c8:\n      (*pcVar37)(piVar27[0x1e]);\n      ssh->hostkey_str = (char *)piVar27[0x1d];\nLAB_000430d8:\n      psVar17 = ssh->hostkey;\nLAB_000430dc:\n      (*psVar17->freekey)((void *)piVar27[0x22]);\n      if (piVar27[0x4d] == 0) {\n        piVar20 = piVar27 + 0x25;\n        puVar25 = ssh->v2_session_id;\n        do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);\n        uVar14 = ssh->kex->hash->hlen;\n        ssh->v2_session_id_len = uVar14;\n        if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        piVar27[0x4d] = 1;\n      }\n      pPVar26 = ssh2_pkt_init(0x15);\n      piVar27[0x4f] = (int)pPVar26;\n      ssh2_pkt_send_noqueue(ssh,pPVar26);\n      ssh->outgoing_data_size = 0;\n      if (ssh->cs_cipher_ctx != (void *)0x0) {\n        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);\n      }\n      psVar4 = (ssh2_cipher *)piVar27[0x12];\n      ssh->cscipher = psVar4;\n      if (psVar4 != (ssh2_cipher *)0x0) {\n        pvVar13 = (*psVar4->make_context)();\n        ssh->cs_cipher_ctx = pvVar13;\n      }\n      if (ssh->cs_mac_ctx != (void *)0x0) {\n        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);\n      }\n      psVar5 = (ssh_mac *)piVar27[0x14];\n      iVar15 = piVar27[0x16];\n      ssh->csmac = psVar5;\n      ssh->csmac_etm = iVar15;\n      if (psVar5 != (ssh_mac *)0x0) {\n        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);\n        ssh->cs_mac_ctx = pvVar13;\n      }\n      if (ssh->cs_comp_ctx != (void *)0x0) {\n        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);\n      }\n      psVar6 = (ssh_compress *)piVar27[0x18];\n      ssh->cscomp = psVar6;\n      pvVar13 = (*psVar6->compress_init)();\n      ssh->cs_comp_ctx = pvVar13;\n      if (ssh->cscipher != (ssh2_cipher *)0x0) {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);\n        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);\n        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n      }\n      if (ssh->csmac == (ssh_mac *)0x0) {\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;\n        psVar6 = ssh->cscomp;\n      }\n      else {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }\n      if (psVar6->text_name != (char *)0x0) {\n        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));\n      }\n      ssh->queueing = 0;\n      if (0 < ssh->queuelen) {\n        iStack_80 = 0;\n        do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);\n      }\n      ssh->queuelen = 0;\n      ssh_pkt_defersend(ssh);\n      ssh_00 = ssh;\nLAB_000434a4:\n      *piVar27 = 0x1d8a;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(-1 < iVar15)" ( (binary_expression "-1 < iVar15" number_literal < identifier) )) (compound_statement "{\nLAB_000430c8:\n      (*pcVar37)(piVar27[0x1e]);\n      ssh->hostkey_str = (char *)piVar27[0x1d];\nLAB_000430d8:\n      psVar17 = ssh->hostkey;\nLAB_000430dc:\n      (*psVar17->freekey)((void *)piVar27[0x22]);\n      if (piVar27[0x4d] == 0) {\n        piVar20 = piVar27 + 0x25;\n        puVar25 = ssh->v2_session_id;\n        do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);\n        uVar14 = ssh->kex->hash->hlen;\n        ssh->v2_session_id_len = uVar14;\n        if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        piVar27[0x4d] = 1;\n      }\n      pPVar26 = ssh2_pkt_init(0x15);\n      piVar27[0x4f] = (int)pPVar26;\n      ssh2_pkt_send_noqueue(ssh,pPVar26);\n      ssh->outgoing_data_size = 0;\n      if (ssh->cs_cipher_ctx != (void *)0x0) {\n        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);\n      }\n      psVar4 = (ssh2_cipher *)piVar27[0x12];\n      ssh->cscipher = psVar4;\n      if (psVar4 != (ssh2_cipher *)0x0) {\n        pvVar13 = (*psVar4->make_context)();\n        ssh->cs_cipher_ctx = pvVar13;\n      }\n      if (ssh->cs_mac_ctx != (void *)0x0) {\n        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);\n      }\n      psVar5 = (ssh_mac *)piVar27[0x14];\n      iVar15 = piVar27[0x16];\n      ssh->csmac = psVar5;\n      ssh->csmac_etm = iVar15;\n      if (psVar5 != (ssh_mac *)0x0) {\n        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);\n        ssh->cs_mac_ctx = pvVar13;\n      }\n      if (ssh->cs_comp_ctx != (void *)0x0) {\n        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);\n      }\n      psVar6 = (ssh_compress *)piVar27[0x18];\n      ssh->cscomp = psVar6;\n      pvVar13 = (*psVar6->compress_init)();\n      ssh->cs_comp_ctx = pvVar13;\n      if (ssh->cscipher != (ssh2_cipher *)0x0) {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);\n        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);\n        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n      }\n      if (ssh->csmac == (ssh_mac *)0x0) {\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;\n        psVar6 = ssh->cscomp;\n      }\n      else {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }\n      if (psVar6->text_name != (char *)0x0) {\n        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));\n      }\n      ssh->queueing = 0;\n      if (0 < ssh->queuelen) {\n        iStack_80 = 0;\n        do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);\n      }\n      ssh->queuelen = 0;\n      ssh_pkt_defersend(ssh);\n      ssh_00 = ssh;\nLAB_000434a4:\n      *piVar27 = 0x1d8a;\n      goto LAB_00042f18;\n    }" { (labeled_statement "LAB_000430c8:\n      (*pcVar37)(piVar27[0x1e]);" statement_identifier : (expression_statement "(*pcVar37)(piVar27[0x1e]);" (call_expression "(*pcVar37)(piVar27[0x1e])" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(piVar27[0x1e])" ( (subscript_expression "piVar27[0x1e]" identifier [ number_literal ]) ))) ;)) (expression_statement "ssh->hostkey_str = (char *)piVar27[0x1d];" (assignment_expression "ssh->hostkey_str = (char *)piVar27[0x1d]" (field_expression "ssh->hostkey_str" identifier -> field_identifier) = (cast_expression "(char *)piVar27[0x1d]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x1d]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_000430d8:\n      psVar17 = ssh->hostkey;" statement_identifier : (expression_statement "psVar17 = ssh->hostkey;" (assignment_expression "psVar17 = ssh->hostkey" identifier = (field_expression "ssh->hostkey" identifier -> field_identifier)) ;)) (labeled_statement "LAB_000430dc:\n      (*psVar17->freekey)((void *)piVar27[0x22]);" statement_identifier : (expression_statement "(*psVar17->freekey)((void *)piVar27[0x22]);" (call_expression "(*psVar17->freekey)((void *)piVar27[0x22])" (parenthesized_expression "(*psVar17->freekey)" ( (pointer_expression "*psVar17->freekey" * (field_expression "psVar17->freekey" identifier -> field_identifier)) )) (argument_list "((void *)piVar27[0x22])" ( (cast_expression "(void *)piVar27[0x22]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x22]" identifier [ number_literal ])) ))) ;)) (if_statement "if (piVar27[0x4d] == 0) {\n        piVar20 = piVar27 + 0x25;\n        puVar25 = ssh->v2_session_id;\n        do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);\n        uVar14 = ssh->kex->hash->hlen;\n        ssh->v2_session_id_len = uVar14;\n        if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        piVar27[0x4d] = 1;\n      }" if (parenthesized_expression "(piVar27[0x4d] == 0)" ( (binary_expression "piVar27[0x4d] == 0" (subscript_expression "piVar27[0x4d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        piVar20 = piVar27 + 0x25;\n        puVar25 = ssh->v2_session_id;\n        do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);\n        uVar14 = ssh->kex->hash->hlen;\n        ssh->v2_session_id_len = uVar14;\n        if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }\n        piVar27[0x4d] = 1;\n      }" { (expression_statement "piVar20 = piVar27 + 0x25;" (assignment_expression "piVar20 = piVar27 + 0x25" identifier = (binary_expression "piVar27 + 0x25" identifier + number_literal)) ;) (expression_statement "puVar25 = ssh->v2_session_id;" (assignment_expression "puVar25 = ssh->v2_session_id" identifier = (field_expression "ssh->v2_session_id" identifier -> field_identifier)) ;) (do_statement "do {\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        } while (piVar20 != piVar27 + 0x35);" do (compound_statement "{\n          iVar32 = *piVar20;\n          iVar3 = piVar20[1];\n          iVar22 = piVar20[2];\n          iVar15 = piVar20[3];\n          piVar20 = piVar20 + 4;\n          *(int *)puVar25 = iVar32;\n          *(int *)(puVar25 + 4) = iVar3;\n          *(int *)(puVar25 + 8) = iVar22;\n          *(int *)(puVar25 + 0xc) = iVar15;\n          puVar25 = puVar25 + 0x10;\n        }" { (expression_statement "iVar32 = *piVar20;" (assignment_expression "iVar32 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "iVar3 = piVar20[1];" (assignment_expression "iVar3 = piVar20[1]" identifier = (subscript_expression "piVar20[1]" identifier [ number_literal ])) ;) (expression_statement "iVar22 = piVar20[2];" (assignment_expression "iVar22 = piVar20[2]" identifier = (subscript_expression "piVar20[2]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[3];" (assignment_expression "iVar15 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (expression_statement "piVar20 = piVar20 + 4;" (assignment_expression "piVar20 = piVar20 + 4" identifier = (binary_expression "piVar20 + 4" identifier + number_literal)) ;) (expression_statement "*(int *)puVar25 = iVar32;" (assignment_expression "*(int *)puVar25 = iVar32" (pointer_expression "*(int *)puVar25" * (cast_expression "(int *)puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int *)(puVar25 + 4) = iVar3;" (assignment_expression "*(int *)(puVar25 + 4) = iVar3" (pointer_expression "*(int *)(puVar25 + 4)" * (cast_expression "(int *)(puVar25 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 4)" ( (binary_expression "puVar25 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar25 + 8) = iVar22;" (assignment_expression "*(int *)(puVar25 + 8) = iVar22" (pointer_expression "*(int *)(puVar25 + 8)" * (cast_expression "(int *)(puVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 8)" ( (binary_expression "puVar25 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar25 + 0xc) = iVar15;" (assignment_expression "*(int *)(puVar25 + 0xc) = iVar15" (pointer_expression "*(int *)(puVar25 + 0xc)" * (cast_expression "(int *)(puVar25 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0xc)" ( (binary_expression "puVar25 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar25 = puVar25 + 0x10;" (assignment_expression "puVar25 = puVar25 + 0x10" identifier = (binary_expression "puVar25 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar20 != piVar27 + 0x35)" ( (binary_expression "piVar20 != piVar27 + 0x35" identifier != (binary_expression "piVar27 + 0x35" identifier + number_literal)) )) ;) (expression_statement "uVar14 = ssh->kex->hash->hlen;" (assignment_expression "uVar14 = ssh->kex->hash->hlen" identifier = (field_expression "ssh->kex->hash->hlen" (field_expression "ssh->kex->hash" (field_expression "ssh->kex" identifier -> field_identifier) -> field_identifier) -> field_identifier)) ;) (expression_statement "ssh->v2_session_id_len = uVar14;" (assignment_expression "ssh->v2_session_id_len = uVar14" (field_expression "ssh->v2_session_id_len" identifier -> field_identifier) = identifier) ;) (if_statement "if (0x40 < uVar14) {\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }" if (parenthesized_expression "(0x40 < uVar14)" ( (binary_expression "0x40 < uVar14" number_literal < identifier) )) (compound_statement "{\n          (**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);\n          return;\n        }" { (expression_statement "(**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c);" (call_expression "(**(code **)(in_t9 + 0x6ff40))\n                    (*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" (parenthesized_expression "(**(code **)(in_t9 + 0x6ff40))" ( (pointer_expression "**(code **)(in_t9 + 0x6ff40)" * (pointer_expression "*(code **)(in_t9 + 0x6ff40)" * (cast_expression "(code **)(in_t9 + 0x6ff40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6ff40)" ( (binary_expression "in_t9 + 0x6ff40" identifier + number_literal) ))))) )) (argument_list "(*(int *)(in_t9 + 0x6f5bc) + 0x60a8,*(int *)(in_t9 + 0x6f5bc) + 0x35c0,0x1d37,\n                     *(int *)(in_t9 + 0x6f5bc) + 0x7e6c)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x60a8" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x35c0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x7e6c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar27[0x4d] = 1;" (assignment_expression "piVar27[0x4d] = 1" (subscript_expression "piVar27[0x4d]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "pPVar26 = ssh2_pkt_init(0x15);" (assignment_expression "pPVar26 = ssh2_pkt_init(0x15)" identifier = (call_expression "ssh2_pkt_init(0x15)" identifier (argument_list "(0x15)" ( number_literal )))) ;) (expression_statement "piVar27[0x4f] = (int)pPVar26;" (assignment_expression "piVar27[0x4f] = (int)pPVar26" (subscript_expression "piVar27[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)pPVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh2_pkt_send_noqueue(ssh,pPVar26);" (call_expression "ssh2_pkt_send_noqueue(ssh,pPVar26)" identifier (argument_list "(ssh,pPVar26)" ( identifier , identifier ))) ;) (expression_statement "ssh->outgoing_data_size = 0;" (assignment_expression "ssh->outgoing_data_size = 0" (field_expression "ssh->outgoing_data_size" identifier -> field_identifier) = number_literal) ;) (if_statement "if (ssh->cs_cipher_ctx != (void *)0x0) {\n        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);\n      }" if (parenthesized_expression "(ssh->cs_cipher_ctx != (void *)0x0)" ( (binary_expression "ssh->cs_cipher_ctx != (void *)0x0" (field_expression "ssh->cs_cipher_ctx" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);\n      }" { (expression_statement "(*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);" (call_expression "(*ssh->cscipher->free_context)(ssh->cs_cipher_ctx)" (parenthesized_expression "(*ssh->cscipher->free_context)" ( (pointer_expression "*ssh->cscipher->free_context" * (field_expression "ssh->cscipher->free_context" (field_expression "ssh->cscipher" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->cs_cipher_ctx)" ( (field_expression "ssh->cs_cipher_ctx" identifier -> field_identifier) ))) ;) })) (expression_statement "psVar4 = (ssh2_cipher *)piVar27[0x12];" (assignment_expression "psVar4 = (ssh2_cipher *)piVar27[0x12]" identifier = (cast_expression "(ssh2_cipher *)piVar27[0x12]" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x12]" identifier [ number_literal ]))) ;) (expression_statement "ssh->cscipher = psVar4;" (assignment_expression "ssh->cscipher = psVar4" (field_expression "ssh->cscipher" identifier -> field_identifier) = identifier) ;) (if_statement "if (psVar4 != (ssh2_cipher *)0x0) {\n        pvVar13 = (*psVar4->make_context)();\n        ssh->cs_cipher_ctx = pvVar13;\n      }" if (parenthesized_expression "(psVar4 != (ssh2_cipher *)0x0)" ( (binary_expression "psVar4 != (ssh2_cipher *)0x0" identifier != (cast_expression "(ssh2_cipher *)0x0" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pvVar13 = (*psVar4->make_context)();\n        ssh->cs_cipher_ctx = pvVar13;\n      }" { (expression_statement "pvVar13 = (*psVar4->make_context)();" (assignment_expression "pvVar13 = (*psVar4->make_context)()" identifier = (call_expression "(*psVar4->make_context)()" (parenthesized_expression "(*psVar4->make_context)" ( (pointer_expression "*psVar4->make_context" * (field_expression "psVar4->make_context" identifier -> field_identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "ssh->cs_cipher_ctx = pvVar13;" (assignment_expression "ssh->cs_cipher_ctx = pvVar13" (field_expression "ssh->cs_cipher_ctx" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (ssh->cs_mac_ctx != (void *)0x0) {\n        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);\n      }" if (parenthesized_expression "(ssh->cs_mac_ctx != (void *)0x0)" ( (binary_expression "ssh->cs_mac_ctx != (void *)0x0" (field_expression "ssh->cs_mac_ctx" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);\n      }" { (expression_statement "(*ssh->csmac->free_context)(ssh->cs_mac_ctx);" (call_expression "(*ssh->csmac->free_context)(ssh->cs_mac_ctx)" (parenthesized_expression "(*ssh->csmac->free_context)" ( (pointer_expression "*ssh->csmac->free_context" * (field_expression "ssh->csmac->free_context" (field_expression "ssh->csmac" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->cs_mac_ctx)" ( (field_expression "ssh->cs_mac_ctx" identifier -> field_identifier) ))) ;) })) (expression_statement "psVar5 = (ssh_mac *)piVar27[0x14];" (assignment_expression "psVar5 = (ssh_mac *)piVar27[0x14]" identifier = (cast_expression "(ssh_mac *)piVar27[0x14]" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x14]" identifier [ number_literal ]))) ;) (expression_statement "iVar15 = piVar27[0x16];" (assignment_expression "iVar15 = piVar27[0x16]" identifier = (subscript_expression "piVar27[0x16]" identifier [ number_literal ])) ;) (expression_statement "ssh->csmac = psVar5;" (assignment_expression "ssh->csmac = psVar5" (field_expression "ssh->csmac" identifier -> field_identifier) = identifier) ;) (expression_statement "ssh->csmac_etm = iVar15;" (assignment_expression "ssh->csmac_etm = iVar15" (field_expression "ssh->csmac_etm" identifier -> field_identifier) = identifier) ;) (if_statement "if (psVar5 != (ssh_mac *)0x0) {\n        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);\n        ssh->cs_mac_ctx = pvVar13;\n      }" if (parenthesized_expression "(psVar5 != (ssh_mac *)0x0)" ( (binary_expression "psVar5 != (ssh_mac *)0x0" identifier != (cast_expression "(ssh_mac *)0x0" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);\n        ssh->cs_mac_ctx = pvVar13;\n      }" { (expression_statement "pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx);" (assignment_expression "pvVar13 = (*psVar5->make_context)(ssh->cs_cipher_ctx)" identifier = (call_expression "(*psVar5->make_context)(ssh->cs_cipher_ctx)" (parenthesized_expression "(*psVar5->make_context)" ( (pointer_expression "*psVar5->make_context" * (field_expression "psVar5->make_context" identifier -> field_identifier)) )) (argument_list "(ssh->cs_cipher_ctx)" ( (field_expression "ssh->cs_cipher_ctx" identifier -> field_identifier) )))) ;) (expression_statement "ssh->cs_mac_ctx = pvVar13;" (assignment_expression "ssh->cs_mac_ctx = pvVar13" (field_expression "ssh->cs_mac_ctx" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (ssh->cs_comp_ctx != (void *)0x0) {\n        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);\n      }" if (parenthesized_expression "(ssh->cs_comp_ctx != (void *)0x0)" ( (binary_expression "ssh->cs_comp_ctx != (void *)0x0" (field_expression "ssh->cs_comp_ctx" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);\n      }" { (expression_statement "(*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);" (call_expression "(*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx)" (parenthesized_expression "(*ssh->cscomp->compress_cleanup)" ( (pointer_expression "*ssh->cscomp->compress_cleanup" * (field_expression "ssh->cscomp->compress_cleanup" (field_expression "ssh->cscomp" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->cs_comp_ctx)" ( (field_expression "ssh->cs_comp_ctx" identifier -> field_identifier) ))) ;) })) (expression_statement "psVar6 = (ssh_compress *)piVar27[0x18];" (assignment_expression "psVar6 = (ssh_compress *)piVar27[0x18]" identifier = (cast_expression "(ssh_compress *)piVar27[0x18]" ( (type_descriptor "ssh_compress *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar27[0x18]" identifier [ number_literal ]))) ;) (expression_statement "ssh->cscomp = psVar6;" (assignment_expression "ssh->cscomp = psVar6" (field_expression "ssh->cscomp" identifier -> field_identifier) = identifier) ;) (expression_statement "pvVar13 = (*psVar6->compress_init)();" (assignment_expression "pvVar13 = (*psVar6->compress_init)()" identifier = (call_expression "(*psVar6->compress_init)()" (parenthesized_expression "(*psVar6->compress_init)" ( (pointer_expression "*psVar6->compress_init" * (field_expression "psVar6->compress_init" identifier -> field_identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "ssh->cs_comp_ctx = pvVar13;" (assignment_expression "ssh->cs_comp_ctx = pvVar13" (field_expression "ssh->cs_comp_ctx" identifier -> field_identifier) = identifier) ;) (if_statement "if (ssh->cscipher != (ssh2_cipher *)0x0) {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);\n        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);\n        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n      }" if (parenthesized_expression "(ssh->cscipher != (ssh2_cipher *)0x0)" ( (binary_expression "ssh->cscipher != (ssh2_cipher *)0x0" (field_expression "ssh->cscipher" identifier -> field_identifier) != (cast_expression "(ssh2_cipher *)0x0" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);\n        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);\n        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n      }" { (expression_statement "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes);" (assignment_expression "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes)" identifier = (call_expression "ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes)" identifier (argument_list "(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'C',\n                             ssh->cscipher->padded_keybytes)" ( identifier , (cast_expression "(Bignum)piVar27[0xb]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) , (cast_expression "(uchar *)(piVar27 + 0x25)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 0x25)" ( (binary_expression "piVar27 + 0x25" identifier + number_literal) ))) , (char_literal "'C'" ' character ') , (field_expression "ssh->cscipher->padded_keybytes" (field_expression "ssh->cscipher" identifier -> field_identifier) -> field_identifier) )))) ;) (expression_statement "(*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25);" (call_expression "(*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,puVar25)" (parenthesized_expression "(*ssh->cscipher->setkey)" ( (pointer_expression "*ssh->cscipher->setkey" * (field_expression "ssh->cscipher->setkey" (field_expression "ssh->cscipher" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->cs_cipher_ctx,puVar25)" ( (field_expression "ssh->cs_cipher_ctx" identifier -> field_identifier) , identifier ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes);" (call_expression "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->padded_keybytes)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f674))" ( (pointer_expression "**(code **)(in_t9 + 0x6f674)" * (pointer_expression "*(code **)(in_t9 + 0x6f674)" * (cast_expression "(code **)(in_t9 + 0x6f674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f674)" ( (binary_expression "in_t9 + 0x6f674" identifier + number_literal) ))))) )) (argument_list "(puVar25,ssh->cscipher->padded_keybytes)" ( identifier , (field_expression "ssh->cscipher->padded_keybytes" (field_expression "ssh->cscipher" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(puVar25);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(puVar25)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))) ;) (expression_statement "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize);" (assignment_expression "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize)" identifier = (call_expression "ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize)" identifier (argument_list "(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'A',\n                             ssh->cscipher->blksize)" ( identifier , (cast_expression "(Bignum)piVar27[0xb]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) , (cast_expression "(uchar *)(piVar27 + 0x25)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 0x25)" ( (binary_expression "piVar27 + 0x25" identifier + number_literal) ))) , (char_literal "'A'" ' character ') , (field_expression "ssh->cscipher->blksize" (field_expression "ssh->cscipher" identifier -> field_identifier) -> field_identifier) )))) ;) (expression_statement "(*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25);" (call_expression "(*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,puVar25)" (parenthesized_expression "(*ssh->cscipher->setiv)" ( (pointer_expression "*ssh->cscipher->setiv" * (field_expression "ssh->cscipher->setiv" (field_expression "ssh->cscipher" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->cs_cipher_ctx,puVar25)" ( (field_expression "ssh->cs_cipher_ctx" identifier -> field_identifier) , identifier ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize);" (call_expression "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->cscipher->blksize)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f674))" ( (pointer_expression "**(code **)(in_t9 + 0x6f674)" * (pointer_expression "*(code **)(in_t9 + 0x6f674)" * (cast_expression "(code **)(in_t9 + 0x6f674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f674)" ( (binary_expression "in_t9 + 0x6f674" identifier + number_literal) ))))) )) (argument_list "(puVar25,ssh->cscipher->blksize)" ( identifier , (field_expression "ssh->cscipher->blksize" (field_expression "ssh->cscipher" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(puVar25);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(puVar25)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))) ;) })) (if_statement "if (ssh->csmac == (ssh_mac *)0x0) {\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;\n        psVar6 = ssh->cscomp;\n      }\n      else {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }" if (parenthesized_expression "(ssh->csmac == (ssh_mac *)0x0)" ( (binary_expression "ssh->csmac == (ssh_mac *)0x0" (field_expression "ssh->csmac" identifier -> field_identifier) == (cast_expression "(ssh_mac *)0x0" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;\n        psVar6 = ssh->cscomp;\n      }" { (expression_statement "psVar4 = ssh->cscipher;" (assignment_expression "psVar4 = ssh->cscipher" identifier = (field_expression "ssh->cscipher" identifier -> field_identifier)) ;) (if_statement "if (psVar4 != (ssh2_cipher *)0x0) goto LAB_0004339c;" if (parenthesized_expression "(psVar4 != (ssh2_cipher *)0x0)" ( (binary_expression "psVar4 != (ssh2_cipher *)0x0" identifier != (cast_expression "(ssh2_cipher *)0x0" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004339c;" goto statement_identifier ;)) (expression_statement "psVar6 = ssh->cscomp;" (assignment_expression "psVar6 = ssh->cscomp" identifier = (field_expression "ssh->cscomp" identifier -> field_identifier)) ;) }) (else_clause "else {\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }" else (compound_statement "{\n        puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);\n        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);\n        (**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);\n        (**(code **)(in_t9 + 0x6f5e4))(puVar25);\n        psVar4 = ssh->cscipher;\n        if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }\n        if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }\n        psVar6 = ssh->cscomp;\n      }" { (expression_statement "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen);" (assignment_expression "puVar25 = ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen)" identifier = (call_expression "ssh2_mkkey(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen)" identifier (argument_list "(ssh,(Bignum)piVar27[0xb],(uchar *)(piVar27 + 0x25),'E',\n                             ssh->csmac->keylen)" ( identifier , (cast_expression "(Bignum)piVar27[0xb]" ( (type_descriptor "Bignum" type_identifier) ) (subscript_expression "piVar27[0xb]" identifier [ number_literal ])) , (cast_expression "(uchar *)(piVar27 + 0x25)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar27 + 0x25)" ( (binary_expression "piVar27 + 0x25" identifier + number_literal) ))) , (char_literal "'E'" ' character ') , (field_expression "ssh->csmac->keylen" (field_expression "ssh->csmac" identifier -> field_identifier) -> field_identifier) )))) ;) (expression_statement "(*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25);" (call_expression "(*ssh->csmac->setkey)(ssh->cs_mac_ctx,puVar25)" (parenthesized_expression "(*ssh->csmac->setkey)" ( (pointer_expression "*ssh->csmac->setkey" * (field_expression "ssh->csmac->setkey" (field_expression "ssh->csmac" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(ssh->cs_mac_ctx,puVar25)" ( (field_expression "ssh->cs_mac_ctx" identifier -> field_identifier) , identifier ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen);" (call_expression "(**(code **)(in_t9 + 0x6f674))(puVar25,ssh->csmac->keylen)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f674))" ( (pointer_expression "**(code **)(in_t9 + 0x6f674)" * (pointer_expression "*(code **)(in_t9 + 0x6f674)" * (cast_expression "(code **)(in_t9 + 0x6f674)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f674)" ( (binary_expression "in_t9 + 0x6f674" identifier + number_literal) ))))) )) (argument_list "(puVar25,ssh->csmac->keylen)" ( identifier , (field_expression "ssh->csmac->keylen" (field_expression "ssh->csmac" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "(**(code **)(in_t9 + 0x6f5e4))(puVar25);" (call_expression "(**(code **)(in_t9 + 0x6f5e4))(puVar25)" (parenthesized_expression "(**(code **)(in_t9 + 0x6f5e4))" ( (pointer_expression "**(code **)(in_t9 + 0x6f5e4)" * (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) )) (argument_list "(puVar25)" ( identifier ))) ;) (expression_statement "psVar4 = ssh->cscipher;" (assignment_expression "psVar4 = ssh->cscipher" identifier = (field_expression "ssh->cscipher" identifier -> field_identifier)) ;) (if_statement "if (psVar4 != (ssh2_cipher *)0x0) {\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }" if (parenthesized_expression "(psVar4 != (ssh2_cipher *)0x0)" ( (binary_expression "psVar4 != (ssh2_cipher *)0x0" identifier != (cast_expression "(ssh2_cipher *)0x0" ( (type_descriptor "ssh2_cipher *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);\n        }" { (labeled_statement "LAB_0004339c:\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);" statement_identifier : (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0),psVar4->text_name)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x60e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x60e0)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x60e0" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , (field_expression "psVar4->text_name" identifier -> field_identifier) ))) ;)) })) (if_statement "if (ssh->csmac != (ssh_mac *)0x0) {\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }" if (parenthesized_expression "(ssh->csmac != (ssh_mac *)0x0)" ( (binary_expression "ssh->csmac != (ssh_mac *)0x0" (field_expression "ssh->csmac" identifier -> field_identifier) != (cast_expression "(ssh_mac *)0x0" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }\n          if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }\n          logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);\n        }" { (if_statement "if (ssh->csmac_etm == 0) {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }" if (parenthesized_expression "(ssh->csmac_etm == 0)" ( (binary_expression "ssh->csmac_etm == 0" (field_expression "ssh->csmac_etm" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }" { (expression_statement "iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;" (assignment_expression "iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x4f64" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }" else (compound_statement "{\n            iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;\n          }" { (expression_statement "iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c;" (assignment_expression "iVar15 = *(int *)(in_t9 + 0x6f5bc) + 0x585c" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x585c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }))) (if_statement "if (ssh->cscipher->required_mac == (ssh_mac *)0x0) {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }\n          else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }" if (parenthesized_expression "(ssh->cscipher->required_mac == (ssh_mac *)0x0)" ( (binary_expression "ssh->cscipher->required_mac == (ssh_mac *)0x0" (field_expression "ssh->cscipher->required_mac" (field_expression "ssh->cscipher" identifier -> field_identifier) -> field_identifier) == (cast_expression "(ssh_mac *)0x0" ( (type_descriptor "ssh_mac *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;\n          }" { (expression_statement "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64;" (assignment_expression "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x4f64" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x4f64" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }" else (compound_statement "{\n            iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;\n          }" { (expression_statement "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c;" (assignment_expression "iVar22 = *(int *)(in_t9 + 0x6f5bc) + 0x586c" identifier = (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x586c" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22);" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22)" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,iVar15,\n                    iVar22)" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6110)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x6110)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x6110" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) , (field_expression "ssh->csmac->text_name" (field_expression "ssh->csmac" identifier -> field_identifier) -> field_identifier) , identifier , identifier ))) ;) })) (expression_statement "psVar6 = ssh->cscomp;" (assignment_expression "psVar6 = ssh->cscomp" identifier = (field_expression "ssh->cscomp" identifier -> field_identifier)) ;) }))) (if_statement "if (psVar6->text_name != (char *)0x0) {\n        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));\n      }" if (parenthesized_expression "(psVar6->text_name != (char *)0x0)" ( (binary_expression "psVar6->text_name != (char *)0x0" (field_expression "psVar6->text_name" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));\n      }" { (expression_statement "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144));" (call_expression "logeventf(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144))" identifier (argument_list "(ssh,(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144))" ( identifier , (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6144)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x6144)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x6144" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) ))) ))) ;) })) (expression_statement "ssh->queueing = 0;" (assignment_expression "ssh->queueing = 0" (field_expression "ssh->queueing" identifier -> field_identifier) = number_literal) ;) (if_statement "if (0 < ssh->queuelen) {\n        iStack_80 = 0;\n        do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);\n      }" if (parenthesized_expression "(0 < ssh->queuelen)" ( (binary_expression "0 < ssh->queuelen" number_literal < (field_expression "ssh->queuelen" identifier -> field_identifier)) )) (compound_statement "{\n        iStack_80 = 0;\n        do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);\n      }" { (expression_statement "iStack_80 = 0;" (assignment_expression "iStack_80 = 0" identifier = number_literal) ;) (do_statement "do {\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        } while (iVar15 < ssh->queuelen);" do (compound_statement "{\n          iVar15 = iStack_80 + 1;\n          ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);\n          iStack_80 = iVar15;\n        }" { (expression_statement "iVar15 = iStack_80 + 1;" (assignment_expression "iVar15 = iStack_80 + 1" identifier = (binary_expression "iStack_80 + 1" identifier + number_literal)) ;) (expression_statement "ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0);" (call_expression "ssh2_pkt_defer_noqueue(ssh,ssh->queue[iStack_80],0)" identifier (argument_list "(ssh,ssh->queue[iStack_80],0)" ( identifier , (subscript_expression "ssh->queue[iStack_80]" (field_expression "ssh->queue" identifier -> field_identifier) [ identifier ]) , number_literal ))) ;) (expression_statement "iStack_80 = iVar15;" (assignment_expression "iStack_80 = iVar15" identifier = identifier) ;) }) while (parenthesized_expression "(iVar15 < ssh->queuelen)" ( (binary_expression "iVar15 < ssh->queuelen" identifier < (field_expression "ssh->queuelen" identifier -> field_identifier)) )) ;) })) (expression_statement "ssh->queuelen = 0;" (assignment_expression "ssh->queuelen = 0" (field_expression "ssh->queuelen" identifier -> field_identifier) = number_literal) ;) (expression_statement "ssh_pkt_defersend(ssh);" (call_expression "ssh_pkt_defersend(ssh)" identifier (argument_list "(ssh)" ( identifier ))) ;) (expression_statement "ssh_00 = ssh;" (assignment_expression "ssh_00 = ssh" identifier = identifier) ;) (labeled_statement "LAB_000434a4:\n      *piVar27 = 0x1d8a;" statement_identifier : (expression_statement "*piVar27 = 0x1d8a;" (assignment_expression "*piVar27 = 0x1d8a" (pointer_expression "*piVar27" * identifier) = number_literal) ;)) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "ppsVar18 = ssh->s;" (assignment_expression "ppsVar18 = ssh->s" identifier = (field_expression "ssh->s" identifier -> field_identifier)) ;) (if_statement "if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n    }" if (parenthesized_expression "(ppsVar18 != (Socket)0x0)" ( (binary_expression "ppsVar18 != (Socket)0x0" identifier != (cast_expression "(Socket)0x0" ( (type_descriptor "Socket" type_identifier) ) number_literal)) )) (compound_statement "{\n      (*(*ppsVar18)->set_frozen)(ppsVar18,1);\n    }" { (expression_statement "(*(*ppsVar18)->set_frozen)(ppsVar18,1);" (call_expression "(*(*ppsVar18)->set_frozen)(ppsVar18,1)" (parenthesized_expression "(*(*ppsVar18)->set_frozen)" ( (pointer_expression "*(*ppsVar18)->set_frozen" * (field_expression "(*ppsVar18)->set_frozen" (parenthesized_expression "(*ppsVar18)" ( (pointer_expression "*ppsVar18" * identifier) )) -> field_identifier)) )) (argument_list "(ppsVar18,1)" ( identifier , number_literal ))) ;) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6fc14);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6fc14)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6fc14)" * (cast_expression "(code **)(in_t9 + 0x6fc14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6fc14)" ( (binary_expression "in_t9 + 0x6fc14" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = ssh->hostkey->keytype;" (assignment_expression "pcVar24 = ssh->hostkey->keytype" identifier = (field_expression "ssh->hostkey->keytype" (field_expression "ssh->hostkey" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "iVar15 = *(int *)(in_t9 + 0x6fb0c);" (assignment_expression "iVar15 = *(int *)(in_t9 + 0x6fb0c)" identifier = (pointer_expression "*(int *)(in_t9 + 0x6fb0c)" * (cast_expression "(int *)(in_t9 + 0x6fb0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6fb0c)" ( (binary_expression "in_t9 + 0x6fb0c" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = piVar27[0x1e];" (assignment_expression "iVar22 = piVar27[0x1e]" identifier = (subscript_expression "piVar27[0x1e]" identifier [ number_literal ])) ;) (expression_statement "ssh_00 = (Ssh_conflict)ssh->frontend;" (assignment_expression "ssh_00 = (Ssh_conflict)ssh->frontend" identifier = (cast_expression "(Ssh_conflict)ssh->frontend" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh->frontend" identifier -> field_identifier))) ;) (expression_statement "ssh->frozen = 1;" (assignment_expression "ssh->frozen = 1" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (expression_statement "iVar15 = (*pcVar37)(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,\n                        iVar15 + -0xf58,ssh);" (assignment_expression "iVar15 = (*pcVar37)(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,\n                        iVar15 + -0xf58,ssh)" identifier = (call_expression "(*pcVar37)(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,\n                        iVar15 + -0xf58,ssh)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(ssh_00,ssh->savedhost,ssh->savedport,pcVar24,piVar27[0x1d],iVar22,\n                        iVar15 + -0xf58,ssh)" ( identifier , (field_expression "ssh->savedhost" identifier -> field_identifier) , (field_expression "ssh->savedport" identifier -> field_identifier) , identifier , (subscript_expression "piVar27[0x1d]" identifier [ number_literal ]) , identifier , (binary_expression "iVar15 + -0xf58" identifier + number_literal) , identifier )))) ;) (expression_statement "piVar27[0x50] = iVar15;" (assignment_expression "piVar27[0x50] = iVar15" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 < 0) {\nLAB_000457e0:\n      *piVar27 = 0x1cf9;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000457e0:\n      *piVar27 = 0x1cf9;\n      goto LAB_00042f18;\n    }" { (labeled_statement "LAB_000457e0:\n      *piVar27 = 0x1cf9;" statement_identifier : (expression_statement "*piVar27 = 0x1cf9;" (assignment_expression "*piVar27 = 0x1cf9" (pointer_expression "*piVar27" * identifier) = number_literal) ;)) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (labeled_statement "LAB_00043094:\n    ppsVar18 = ssh->s;" statement_identifier : (expression_statement "ppsVar18 = ssh->s;" (assignment_expression "ppsVar18 = ssh->s" identifier = (field_expression "ssh->s" identifier -> field_identifier)) ;)) (if_statement "if (ppsVar18 != (Socket)0x0) {\n      (*(*ppsVar18)->set_frozen)(ppsVar18,0);\n    }" if (parenthesized_expression "(ppsVar18 != (Socket)0x0)" ( (binary_expression "ppsVar18 != (Socket)0x0" identifier != (cast_expression "(Socket)0x0" ( (type_descriptor "Socket" type_identifier) ) number_literal)) )) (compound_statement "{\n      (*(*ppsVar18)->set_frozen)(ppsVar18,0);\n    }" { (expression_statement "(*(*ppsVar18)->set_frozen)(ppsVar18,0);" (call_expression "(*(*ppsVar18)->set_frozen)(ppsVar18,0)" (parenthesized_expression "(*(*ppsVar18)->set_frozen)" ( (pointer_expression "*(*ppsVar18)->set_frozen" * (field_expression "(*ppsVar18)->set_frozen" (parenthesized_expression "(*ppsVar18)" ( (pointer_expression "*ppsVar18" * identifier) )) -> field_identifier)) )) (argument_list "(ppsVar18,0)" ( identifier , number_literal ))) ;) })) (expression_statement "ssh->frozen = 0;" (assignment_expression "ssh->frozen = 0" (field_expression "ssh->frozen" identifier -> field_identifier) = number_literal) ;) (if_statement "if (piVar27[0x50] != 0) {\n      pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n      goto LAB_000430c8;\n    }" if (parenthesized_expression "(piVar27[0x50] != 0)" ( (binary_expression "piVar27[0x50] != 0" (subscript_expression "piVar27[0x50]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      pcVar37 = *(code **)(in_t9 + 0x6f5e4);\n      goto LAB_000430c8;\n    }" { (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f5e4);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f5e4)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f5e4)" * (cast_expression "(code **)(in_t9 + 0x6f5e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f5e4)" ( (binary_expression "in_t9 + 0x6f5e4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000430c8;" goto statement_identifier ;) })) (expression_statement "pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6028);" (assignment_expression "pcVar24 = (char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6028)" identifier = (cast_expression "(char *)(*(int *)(in_t9 + 0x6f5bc) + 0x6028)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x6028)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x6028" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_00045800:\n    ssh_disconnect(ssh,pcVar24,(char *)0x0,0,1);" statement_identifier : (expression_statement "ssh_disconnect(ssh,pcVar24,(char *)0x0,0,1);" (call_expression "ssh_disconnect(ssh,pcVar24,(char *)0x0,0,1)" identifier (argument_list "(ssh,pcVar24,(char *)0x0,0,1)" ( identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , number_literal ))) ;)) (expression_statement "*piVar27 = 0;" (assignment_expression "*piVar27 = 0" (pointer_expression "*piVar27" * identifier) = number_literal) ;) (expression_statement "ssh_00 = ssh;" (assignment_expression "ssh_00 = ssh" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x6f618);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x6f618)" identifier = (pointer_expression "*(code **)(in_t9 + 0x6f618)" * (cast_expression "(code **)(in_t9 + 0x6f618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x6f618)" ( (binary_expression "in_t9 + 0x6f618" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5fac);" (assignment_expression "piVar20 = (int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5fac)" identifier = (cast_expression "(int *)(*(int *)(in_t9 + 0x6f5bc) + 0x5fac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_t9 + 0x6f5bc) + 0x5fac)" ( (binary_expression "*(int *)(in_t9 + 0x6f5bc) + 0x5fac" (pointer_expression "*(int *)(in_t9 + 0x6f5bc)" * (cast_expression "(int *)(in_t9 + 0x6f5bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x6f5bc)" ( (binary_expression "in_t9 + 0x6f5bc" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_0004361c:\n  pcVar24 = (char *)(*pcVar37)(piVar20);" statement_identifier : (expression_statement "pcVar24 = (char *)(*pcVar37)(piVar20);" (assignment_expression "pcVar24 = (char *)(*pcVar37)(piVar20)" identifier = (cast_expression "(char *)(*pcVar37)(piVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar37)(piVar20)" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "(piVar20)" ( identifier ))))) ;)) (labeled_statement "LAB_00043628:\n  bomb_out(ssh,pcVar24);" statement_identifier : (expression_statement "bomb_out(ssh,pcVar24);" (call_expression "bomb_out(ssh,pcVar24)" identifier (argument_list "(ssh,pcVar24)" ( identifier , identifier ))) ;)) (expression_statement "ssh_00 = ssh;" (assignment_expression "ssh_00 = ssh" identifier = identifier) ;) (labeled_statement "LAB_00042f14:\n  *piVar27 = 0;" statement_identifier : (expression_statement "*piVar27 = 0;" (assignment_expression "*piVar27 = 0" (pointer_expression "*piVar27" * identifier) = number_literal) ;)) (labeled_statement "LAB_00042f18:\n  if (iVar23 == *piVar2) {\n    return;\n  }" statement_identifier : (if_statement "if (iVar23 == *piVar2) {\n    return;\n  }" if (parenthesized_expression "(iVar23 == *piVar2)" ( (binary_expression "iVar23 == *piVar2" identifier == (pointer_expression "*piVar2" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar37 = *(code **)(in_t9 + 0x700ec);" (assignment_expression "pcVar37 = *(code **)(in_t9 + 0x700ec)" identifier = (pointer_expression "*(code **)(in_t9 + 0x700ec)" * (cast_expression "(code **)(in_t9 + 0x700ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x700ec)" ( (binary_expression "in_t9 + 0x700ec" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar37)();" (call_expression "(*pcVar37)()" (parenthesized_expression "(*pcVar37)" ( (pointer_expression "*pcVar37" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar25 = ssh_00->deferred_send_data;" (assignment_expression "puVar25 = ssh_00->deferred_send_data" identifier = (field_expression "ssh_00->deferred_send_data" identifier -> field_identifier)) ;) (expression_statement "iVar15 = s_write((Ssh_conflict)&ssh_00->s,ssh_00->logctx,(int)puVar25,\n                   (Ssh_conflict)ssh_00->deferred_len);" (assignment_expression "iVar15 = s_write((Ssh_conflict)&ssh_00->s,ssh_00->logctx,(int)puVar25,\n                   (Ssh_conflict)ssh_00->deferred_len)" identifier = (call_expression "s_write((Ssh_conflict)&ssh_00->s,ssh_00->logctx,(int)puVar25,\n                   (Ssh_conflict)ssh_00->deferred_len)" identifier (argument_list "((Ssh_conflict)&ssh_00->s,ssh_00->logctx,(int)puVar25,\n                   (Ssh_conflict)ssh_00->deferred_len)" ( (binary_expression "(Ssh_conflict)&ssh_00->s" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh_00->s" identifier -> field_identifier)) , (field_expression "ssh_00->logctx" identifier -> field_identifier) , (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(Ssh_conflict)ssh_00->deferred_len" ( (type_descriptor "Ssh_conflict" type_identifier) ) (field_expression "ssh_00->deferred_len" identifier -> field_identifier)) )))) ;) (expression_statement "ssh_00->deferred_size = 0;" (assignment_expression "ssh_00->deferred_size = 0" (field_expression "ssh_00->deferred_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar38 = *(code **)(pcVar37 + 0x6c288);" (assignment_expression "pcVar38 = *(code **)(pcVar37 + 0x6c288)" identifier = (pointer_expression "*(code **)(pcVar37 + 0x6c288)" * (cast_expression "(code **)(pcVar37 + 0x6c288)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar37 + 0x6c288)" ( (binary_expression "pcVar37 + 0x6c288" identifier + number_literal) ))))) ;) (expression_statement "ssh_00->deferred_len = 0;" (assignment_expression "ssh_00->deferred_len = 0" (field_expression "ssh_00->deferred_len" identifier -> field_identifier) = number_literal) ;) (expression_statement "(*pcVar38)(ssh_00->deferred_send_data);" (call_expression "(*pcVar38)(ssh_00->deferred_send_data)" (parenthesized_expression "(*pcVar38)" ( (pointer_expression "*pcVar38" * identifier) )) (argument_list "(ssh_00->deferred_send_data)" ( (field_expression "ssh_00->deferred_send_data" identifier -> field_identifier) ))) ;) (expression_statement "ssh_00->deferred_send_data = (uchar *)0x0;" (assignment_expression "ssh_00->deferred_send_data = (uchar *)0x0" (field_expression "ssh_00->deferred_send_data" identifier -> field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((0x8000 < iVar15) && (ssh_00->throttled_all != 1)) {\n    ssh_00->throttled_all = 1;\n    ssh_00->overall_bufsize = iVar15;\n    if (ssh_00->channels != (tree234 *)0x0) {\n      ssh_throttle_all(ssh_00,1,(int)puVar25);\n    }\n  }" if (parenthesized_expression "((0x8000 < iVar15) && (ssh_00->throttled_all != 1))" ( (binary_expression "(0x8000 < iVar15) && (ssh_00->throttled_all != 1)" (parenthesized_expression "(0x8000 < iVar15)" ( (binary_expression "0x8000 < iVar15" number_literal < identifier) )) && (parenthesized_expression "(ssh_00->throttled_all != 1)" ( (binary_expression "ssh_00->throttled_all != 1" (field_expression "ssh_00->throttled_all" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n    ssh_00->throttled_all = 1;\n    ssh_00->overall_bufsize = iVar15;\n    if (ssh_00->channels != (tree234 *)0x0) {\n      ssh_throttle_all(ssh_00,1,(int)puVar25);\n    }\n  }" { (expression_statement "ssh_00->throttled_all = 1;" (assignment_expression "ssh_00->throttled_all = 1" (field_expression "ssh_00->throttled_all" identifier -> field_identifier) = number_literal) ;) (expression_statement "ssh_00->overall_bufsize = iVar15;" (assignment_expression "ssh_00->overall_bufsize = iVar15" (field_expression "ssh_00->overall_bufsize" identifier -> field_identifier) = identifier) ;) (if_statement "if (ssh_00->channels != (tree234 *)0x0) {\n      ssh_throttle_all(ssh_00,1,(int)puVar25);\n    }" if (parenthesized_expression "(ssh_00->channels != (tree234 *)0x0)" ( (binary_expression "ssh_00->channels != (tree234 *)0x0" (field_expression "ssh_00->channels" identifier -> field_identifier) != (cast_expression "(tree234 *)0x0" ( (type_descriptor "tree234 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ssh_throttle_all(ssh_00,1,(int)puVar25);\n    }" { (expression_statement "ssh_throttle_all(ssh_00,1,(int)puVar25);" (call_expression "ssh_throttle_all(ssh_00,1,(int)puVar25)" identifier (argument_list "(ssh_00,1,(int)puVar25)" ( identifier , number_literal , (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) })) (if_statement "if (ssh_00->version == 2) {\n    uVar21 = ssh_00->deferred_data_size;\n    ssh_00->deferred_data_size = 0;\n    uVar14 = ssh_00->outgoing_data_size + uVar21;\n    ssh_00->outgoing_data_size = uVar14;\n    if ((((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0)) && (ssh_00->max_data_size < uVar14)) {\n      do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0);\n      return;\n    }\n  }" if (parenthesized_expression "(ssh_00->version == 2)" ( (binary_expression "ssh_00->version == 2" (field_expression "ssh_00->version" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    uVar21 = ssh_00->deferred_data_size;\n    ssh_00->deferred_data_size = 0;\n    uVar14 = ssh_00->outgoing_data_size + uVar21;\n    ssh_00->outgoing_data_size = uVar14;\n    if ((((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0)) && (ssh_00->max_data_size < uVar14)) {\n      do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0);\n      return;\n    }\n  }" { (expression_statement "uVar21 = ssh_00->deferred_data_size;" (assignment_expression "uVar21 = ssh_00->deferred_data_size" identifier = (field_expression "ssh_00->deferred_data_size" identifier -> field_identifier)) ;) (expression_statement "ssh_00->deferred_data_size = 0;" (assignment_expression "ssh_00->deferred_data_size = 0" (field_expression "ssh_00->deferred_data_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "uVar14 = ssh_00->outgoing_data_size + uVar21;" (assignment_expression "uVar14 = ssh_00->outgoing_data_size + uVar21" identifier = (binary_expression "ssh_00->outgoing_data_size + uVar21" (field_expression "ssh_00->outgoing_data_size" identifier -> field_identifier) + identifier)) ;) (expression_statement "ssh_00->outgoing_data_size = uVar14;" (assignment_expression "ssh_00->outgoing_data_size = uVar14" (field_expression "ssh_00->outgoing_data_size" identifier -> field_identifier) = identifier) ;) (if_statement "if ((((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0)) && (ssh_00->max_data_size < uVar14)) {\n      do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0);\n      return;\n    }" if (parenthesized_expression "((((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0)) && (ssh_00->max_data_size < uVar14))" ( (binary_expression "(((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0)) && (ssh_00->max_data_size < uVar14)" (parenthesized_expression "(((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0))" ( (binary_expression "((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)) &&\n        (ssh_00->max_data_size != 0)" (parenthesized_expression "((ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0))" ( (binary_expression "(ssh_00->kex_in_progress == 0) && (ssh_00->bare_connection == 0)" (parenthesized_expression "(ssh_00->kex_in_progress == 0)" ( (binary_expression "ssh_00->kex_in_progress == 0" (field_expression "ssh_00->kex_in_progress" identifier -> field_identifier) == number_literal) )) && (parenthesized_expression "(ssh_00->bare_connection == 0)" ( (binary_expression "ssh_00->bare_connection == 0" (field_expression "ssh_00->bare_connection" identifier -> field_identifier) == number_literal) ))) )) && (parenthesized_expression "(ssh_00->max_data_size != 0)" ( (binary_expression "ssh_00->max_data_size != 0" (field_expression "ssh_00->max_data_size" identifier -> field_identifier) != number_literal) ))) )) && (parenthesized_expression "(ssh_00->max_data_size < uVar14)" ( (binary_expression "ssh_00->max_data_size < uVar14" (field_expression "ssh_00->max_data_size" identifier -> field_identifier) < identifier) ))) )) (compound_statement "{\n      do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0);\n      return;\n    }" { (expression_statement "do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0);" (call_expression "do_ssh2_transport(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0)" identifier (argument_list "(ssh_00,(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294),-1,(Packet *)0x0)" ( identifier , (cast_expression "(void *)(*(int *)(pcVar37 + 0x6c260) + 0x6294)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar37 + 0x6c260) + 0x6294)" ( (binary_expression "*(int *)(pcVar37 + 0x6c260) + 0x6294" (pointer_expression "*(int *)(pcVar37 + 0x6c260)" * (cast_expression "(int *)(pcVar37 + 0x6c260)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar37 + 0x6c260)" ( (binary_expression "pcVar37 + 0x6c260" identifier + number_literal) )))) + number_literal) ))) , number_literal , (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (return_statement "return;" return ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00042dec(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  undefined1 uVar9;\n  undefined *puVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  code *pcVar10;\n  undefined *puVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  undefined *puVar15;\n  int iVar16;\n  undefined4 uVar17;\n  int *piVar18;\n  undefined4 *puVar19;\n  uint uVar20;\n  uint uVar21;\n  undefined4 uVar22;\n  int *piVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  int *piVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  int local_90;\n  int *local_8c;\n  int local_80;\n  uint local_74;\n  uint local_6c;\n  int *local_68;\n  int local_58;\n  uint local_54;\n  int *local_50 [4];\n  undefined *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined *local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_000b2f04;\n  puVar15 = PTR_s_acket_from_server___s_000b23a8;\n  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);\n  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);\n  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;\n  piVar18 = (int *)param_1[0x73];\n  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);\n  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);\n  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;\n  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;\n  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;\n  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;\n  piVar14 = local_50[2];\n  if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }\n  if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar18;\n  if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }\nLAB_00042f14:\n  *piVar18 = 0;\n  param_1 = piVar14;\nLAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }\n  puVar15 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);\n  param_1[0x5c] = 0;\n  pcVar28 = *(code **)(puVar15 + 0x6c288);\n  param_1[0x5b] = 0;\n  (*pcVar28)(param_1[0x5a]);\n  param_1[0x5a] = 0;\n  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }\n  if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }\n  return;\nLAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }\n  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n  iVar16 = param_1[0x44];\n  piVar18[0x1e] = iVar3;\n  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);\n  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);\n  piVar18[0x50] = iVar3;\n  if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }\n  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n  param_1[0x28] = piVar18[0x1d];\nLAB_000430d8:\n  iVar3 = param_1[0x27];\nLAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);\n  if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }\n  iVar3 = FUN_0003b04c(0x15);\n  piVar18[0x4f] = iVar3;\n  FUN_00046280(param_1,iVar3);\n  param_1[0x1a2] = 0;\n  if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x12];\n  param_1[0x18] = (int)puVar19;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }\n  if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x14];\n  iVar3 = piVar18[0x16];\n  param_1[0x1c] = (int)puVar19;\n  param_1[0x1e] = iVar3;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }\n  if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }\n  iVar3 = piVar18[0x18];\n  param_1[0x22] = iVar3;\n  iVar3 = (**(code **)(iVar3 + 8))();\n  param_1[0x24] = iVar3;\n  if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }\n  if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }\n  if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }\n  param_1[0x59] = 0;\n  if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }\n  param_1[0x57] = 0;\n  FUN_00046148();\n  piVar14 = param_1;\nLAB_000434a4:\n  *piVar18 = 0x1d8a;\n  param_1 = piVar14;\n  goto LAB_00042f18;\ncode_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }\n  iVar16 = iVar16 + 1;\n  piVar14 = piVar14 + 3;\n  if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\n}\n\n" (function_definition "void FUN_00042dec(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  undefined1 uVar9;\n  undefined *puVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  code *pcVar10;\n  undefined *puVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  undefined *puVar15;\n  int iVar16;\n  undefined4 uVar17;\n  int *piVar18;\n  undefined4 *puVar19;\n  uint uVar20;\n  uint uVar21;\n  undefined4 uVar22;\n  int *piVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  int *piVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  int local_90;\n  int *local_8c;\n  int local_80;\n  uint local_74;\n  uint local_6c;\n  int *local_68;\n  int local_58;\n  uint local_54;\n  int *local_50 [4];\n  undefined *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined *local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_000b2f04;\n  puVar15 = PTR_s_acket_from_server___s_000b23a8;\n  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);\n  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);\n  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;\n  piVar18 = (int *)param_1[0x73];\n  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);\n  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);\n  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;\n  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;\n  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;\n  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;\n  piVar14 = local_50[2];\n  if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }\n  if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar18;\n  if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }\nLAB_00042f14:\n  *piVar18 = 0;\n  param_1 = piVar14;\nLAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }\n  puVar15 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);\n  param_1[0x5c] = 0;\n  pcVar28 = *(code **)(puVar15 + 0x6c288);\n  param_1[0x5b] = 0;\n  (*pcVar28)(param_1[0x5a]);\n  param_1[0x5a] = 0;\n  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }\n  if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }\n  return;\nLAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }\n  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n  iVar16 = param_1[0x44];\n  piVar18[0x1e] = iVar3;\n  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);\n  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);\n  piVar18[0x50] = iVar3;\n  if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }\n  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n  param_1[0x28] = piVar18[0x1d];\nLAB_000430d8:\n  iVar3 = param_1[0x27];\nLAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);\n  if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }\n  iVar3 = FUN_0003b04c(0x15);\n  piVar18[0x4f] = iVar3;\n  FUN_00046280(param_1,iVar3);\n  param_1[0x1a2] = 0;\n  if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x12];\n  param_1[0x18] = (int)puVar19;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }\n  if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x14];\n  iVar3 = piVar18[0x16];\n  param_1[0x1c] = (int)puVar19;\n  param_1[0x1e] = iVar3;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }\n  if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }\n  iVar3 = piVar18[0x18];\n  param_1[0x22] = iVar3;\n  iVar3 = (**(code **)(iVar3 + 8))();\n  param_1[0x24] = iVar3;\n  if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }\n  if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }\n  if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }\n  param_1[0x59] = 0;\n  if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }\n  param_1[0x57] = 0;\n  FUN_00046148();\n  piVar14 = param_1;\nLAB_000434a4:\n  *piVar18 = 0x1d8a;\n  param_1 = piVar14;\n  goto LAB_00042f18;\ncode_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }\n  iVar16 = iVar16 + 1;\n  piVar14 = piVar14 + 3;\n  if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\n}" primitive_type (function_declarator "FUN_00042dec(int *param_1,undefined4 param_2,int param_3,int *param_4)" identifier (parameter_list "(int *param_1,undefined4 param_2,int param_3,int *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  undefined1 uVar9;\n  undefined *puVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  code *pcVar10;\n  undefined *puVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  undefined *puVar15;\n  int iVar16;\n  undefined4 uVar17;\n  int *piVar18;\n  undefined4 *puVar19;\n  uint uVar20;\n  uint uVar21;\n  undefined4 uVar22;\n  int *piVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  int *piVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  int local_90;\n  int *local_8c;\n  int local_80;\n  uint local_74;\n  uint local_6c;\n  int *local_68;\n  int local_58;\n  uint local_54;\n  int *local_50 [4];\n  undefined *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined *local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_000b2f04;\n  puVar15 = PTR_s_acket_from_server___s_000b23a8;\n  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);\n  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);\n  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;\n  piVar18 = (int *)param_1[0x73];\n  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);\n  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);\n  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;\n  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;\n  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;\n  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;\n  piVar14 = local_50[2];\n  if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }\n  if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar18;\n  if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }\nLAB_00042f14:\n  *piVar18 = 0;\n  param_1 = piVar14;\nLAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }\n  puVar15 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);\n  param_1[0x5c] = 0;\n  pcVar28 = *(code **)(puVar15 + 0x6c288);\n  param_1[0x5b] = 0;\n  (*pcVar28)(param_1[0x5a]);\n  param_1[0x5a] = 0;\n  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }\n  if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }\n  return;\nLAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }\n  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n  iVar16 = param_1[0x44];\n  piVar18[0x1e] = iVar3;\n  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);\n  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);\n  piVar18[0x50] = iVar3;\n  if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }\n  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n  param_1[0x28] = piVar18[0x1d];\nLAB_000430d8:\n  iVar3 = param_1[0x27];\nLAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);\n  if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }\n  iVar3 = FUN_0003b04c(0x15);\n  piVar18[0x4f] = iVar3;\n  FUN_00046280(param_1,iVar3);\n  param_1[0x1a2] = 0;\n  if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x12];\n  param_1[0x18] = (int)puVar19;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }\n  if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x14];\n  iVar3 = piVar18[0x16];\n  param_1[0x1c] = (int)puVar19;\n  param_1[0x1e] = iVar3;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }\n  if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }\n  iVar3 = piVar18[0x18];\n  param_1[0x22] = iVar3;\n  iVar3 = (**(code **)(iVar3 + 8))();\n  param_1[0x24] = iVar3;\n  if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }\n  if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }\n  if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }\n  param_1[0x59] = 0;\n  if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }\n  param_1[0x57] = 0;\n  FUN_00046148();\n  piVar14 = param_1;\nLAB_000434a4:\n  *piVar18 = 0x1d8a;\n  param_1 = piVar14;\n  goto LAB_00042f18;\ncode_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }\n  iVar16 = iVar16 + 1;\n  piVar14 = piVar14 + 3;\n  if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined1 uVar9;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "int *local_8c;" primitive_type (pointer_declarator "*local_8c" * identifier) ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "int *local_50 [4];" primitive_type (pointer_declarator "*local_50 [4]" * (array_declarator "local_50 [4]" identifier [ number_literal ])) ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_000b2f04;" (assignment_expression "puVar2 = PTR___stack_chk_guard_000b2f04" identifier = identifier) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8" identifier = identifier) ;) (expression_statement "local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);" (assignment_expression "local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0)" (subscript_expression "local_50[2]" identifier [ number_literal ]) = (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x58b0)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58b0" identifier + number_literal) )))) ;) (expression_statement "local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);" (assignment_expression "local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8)" (subscript_expression "local_50[3]" identifier [ number_literal ]) = (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x58c8)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58c8" identifier + number_literal) )))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000b2f04" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000b2f04" * (cast_expression "(int *)PTR___stack_chk_guard_000b2f04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar18 = (int *)param_1[0x73];" (assignment_expression "piVar18 = (int *)param_1[0x73]" identifier = (cast_expression "(int *)param_1[0x73]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x73]" identifier [ number_literal ]))) ;) (expression_statement "local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);" (assignment_expression "local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884)" (subscript_expression "local_50[0]" identifier [ number_literal ]) = (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x5884)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5884" identifier + number_literal) )))) ;) (expression_statement "local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);" (assignment_expression "local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c)" (subscript_expression "local_50[1]" identifier [ number_literal ]) = (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x589c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x589c" identifier + number_literal) )))) ;) (expression_statement "local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;" (assignment_expression "local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58e0" identifier + number_literal)) ;) (expression_statement "local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;" (assignment_expression "local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58f8" identifier + number_literal)) ;) (expression_statement "local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;" (assignment_expression "local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5910" identifier + number_literal)) ;) (expression_statement "local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;" (assignment_expression "local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5934" identifier + number_literal)) ;) (expression_statement "piVar14 = local_50[2];" (assignment_expression "piVar14 = local_50[2]" identifier = (subscript_expression "local_50[2]" identifier [ number_literal ])) ;) (if_statement "if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }" if (parenthesized_expression "(piVar18 == (int *)0x0)" ( (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }" { (expression_statement "piVar14 = (int *)0x1;" (assignment_expression "piVar14 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);" (assignment_expression "piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c)" identifier = (cast_expression "(int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_000b2408)(1,0x74c)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" ( (pointer_expression "*(code *)PTR_safemalloc_000b2408" * (cast_expression "(code *)PTR_safemalloc_000b2408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,0x74c)" ( number_literal , number_literal ))))) ;) (expression_statement "param_1[0x73] = (int)piVar18;" (assignment_expression "param_1[0x73] = (int)piVar18" (subscript_expression "param_1[0x73]" identifier [ number_literal ]) = (cast_expression "(int)piVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" * identifier) = number_literal) ;) })) (if_statement "if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" if (parenthesized_expression "(param_1[0x3b] != 0)" ( (binary_expression "param_1[0x3b] != 0" (subscript_expression "param_1[0x3b]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5958" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" if (parenthesized_expression "(param_1[0x66] != 2)" ( (binary_expression "param_1[0x66] != 2" (subscript_expression "param_1[0x66]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4af0" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = *piVar18;" (assignment_expression "iVar3 = *piVar18" identifier = (pointer_expression "*piVar18" * identifier)) ;) (if_statement "if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }" if (parenthesized_expression "(iVar3 == 0x1b73)" ( (binary_expression "iVar3 == 0x1b73" identifier == number_literal) )) (compound_statement "{\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }" { (if_statement "if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" { (labeled_statement "LAB_00044348:\n      *piVar18 = 0x1b73;" statement_identifier : (expression_statement "*piVar18 = 0x1b73;" (assignment_expression "*piVar18 = 0x1b73" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }" if (parenthesized_expression "(param_4[2] == 0x1f)" ( (binary_expression "param_4[2] == 0x1f" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }" { (expression_statement "iVar3 = FUN_00037b74(param_4);" (assignment_expression "iVar3 = FUN_00037b74(param_4)" identifier = (call_expression "FUN_00037b74(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "piVar18[7] = iVar3;" (assignment_expression "piVar18[7] = iVar3" (subscript_expression "piVar18[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = FUN_00037b74(param_4);" (assignment_expression "iVar3 = FUN_00037b74(param_4)" identifier = (call_expression "FUN_00037b74(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "piVar18[8] = iVar3;" (assignment_expression "piVar18[8] = iVar3" (subscript_expression "piVar18[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "((piVar18[7] != 0) && (iVar3 != 0))" ( (binary_expression "(piVar18[7] != 0) && (iVar3 != 0)" (parenthesized_expression "(piVar18[7] != 0)" ( (binary_expression "piVar18[7] != 0" (subscript_expression "piVar18[7]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (expression_statement "iVar3 = dh_setup_gex(piVar18[7],iVar3);" (assignment_expression "iVar3 = dh_setup_gex(piVar18[7],iVar3)" identifier = (call_expression "dh_setup_gex(piVar18[7],iVar3)" identifier (argument_list "(piVar18[7],iVar3)" ( (subscript_expression "piVar18[7]" identifier [ number_literal ]) , identifier )))) ;) (expression_statement "param_1[0x3a] = iVar3;" (assignment_expression "param_1[0x3a] = iVar3" (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0xe] = 0x20;" (assignment_expression "piVar18[0xe] = 0x20" (subscript_expression "piVar18[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0xf] = 0x21;" (assignment_expression "piVar18[0xf] = 0x21" (subscript_expression "piVar18[0xf]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));" statement_identifier : (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ba8" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x18)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x18" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) ))) ;)) (expression_statement "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);" (call_expression "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2)" (parenthesized_expression "(*(code *)PTR_set_busy_status_000b296c)" ( (pointer_expression "*(code *)PTR_set_busy_status_000b296c" * (cast_expression "(code *)PTR_set_busy_status_000b296c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],2)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);" (assignment_expression "iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1)" identifier = (call_expression "dh_create_e(param_1[0x3a],piVar18[1] << 1)" identifier (argument_list "(param_1[0x3a],piVar18[1] << 1)" ( (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) , (binary_expression "piVar18[1] << 1" (subscript_expression "piVar18[1]" identifier [ number_literal ]) << number_literal) )))) ;) (expression_statement "piVar18[9] = iVar3;" (assignment_expression "piVar18[9] = iVar3" (subscript_expression "piVar18[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);" (assignment_expression "puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe])" identifier = (cast_expression "(undefined4 *)FUN_0003b04c(piVar18[0xe])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b04c(piVar18[0xe])" identifier (argument_list "(piVar18[0xe])" ( (subscript_expression "piVar18[0xe]" identifier [ number_literal ]) ))))) ;) (expression_statement "piVar18[0x4f] = (int)puVar19;" (assignment_expression "piVar18[0x4f] = (int)puVar19" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar22 = FUN_00037c0c(piVar18[9],&local_54);" (assignment_expression "uVar22 = FUN_00037c0c(piVar18[9],&local_54)" identifier = (call_expression "FUN_00037c0c(piVar18[9],&local_54)" identifier (argument_list "(piVar18[9],&local_54)" ( (subscript_expression "piVar18[9]" identifier [ number_literal ]) , (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" identifier (argument_list "(puVar19,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "FUN_0003b124(puVar19,uVar22,local_54);" (call_expression "FUN_0003b124(puVar19,uVar22,local_54)" identifier (argument_list "(puVar19,uVar22,local_54)" ( identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "(*(code *)PTR_set_busy_status_000b296c)(piVar14,1);" (call_expression "(*(code *)PTR_set_busy_status_000b296c)(piVar14,1)" (parenthesized_expression "(*(code *)PTR_set_busy_status_000b296c)" ( (pointer_expression "*(code *)PTR_set_busy_status_000b296c" * (cast_expression "(code *)PTR_set_busy_status_000b296c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) (labeled_statement "LAB_00043e9c:\n        *piVar18 = 0x1b96;" statement_identifier : (expression_statement "*piVar18 = 0x1b96;" (assignment_expression "*piVar18 = 0x1b96" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5b44" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }" else (compound_statement "{\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5b14" identifier + number_literal)) ;) }))) (labeled_statement "LAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);" statement_identifier : (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15)" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)(puVar15)" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar15)" ( identifier )))) ;)) (labeled_statement "LAB_00043628:\n    FUN_0003822c(param_1,uVar22);" statement_identifier : (expression_statement "FUN_0003822c(param_1,uVar22);" (call_expression "FUN_0003822c(param_1,uVar22)" identifier (argument_list "(param_1,uVar22)" ( identifier , identifier ))) ;)) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) }) (else_clause "else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }" else (compound_statement "{\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }" { (expression_statement "local_8c = param_4;" (assignment_expression "local_8c = param_4" identifier = identifier) ;) (if_statement "if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }" if (parenthesized_expression "(0x1b73 < iVar3)" ( (binary_expression "0x1b73 < iVar3" number_literal < identifier) )) (compound_statement "{\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }" { (if_statement "if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(iVar3 == 0x1c91)" ( (binary_expression "iVar3 == 0x1c91" identifier == number_literal) )) (compound_statement "{\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }" { (if_statement "if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" { (labeled_statement "LAB_00045644:\n          *piVar18 = 0x1c91;" statement_identifier : (expression_statement "*piVar18 = 0x1c91;" (assignment_expression "*piVar18 = 0x1c91" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }" if (parenthesized_expression "(param_4[2] == 0x20)" ( (binary_expression "param_4[2] == 0x20" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }" { (expression_statement "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20)" identifier (argument_list "(param_4,piVar18 + 0x1b,piVar18 + 0x20)" ( identifier , (binary_expression "piVar18 + 0x1b" identifier + number_literal) , (binary_expression "piVar18 + 0x20" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }" if (parenthesized_expression "(piVar18[0x1b] == 0)" ( (binary_expression "piVar18[0x1b] == 0" (subscript_expression "piVar18[0x1b]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ea4" identifier + number_literal)) ;) }) (else_clause "else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }" else (compound_statement "{\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }" { (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_0004446c:\n            iVar3 = param_1[0x26];" statement_identifier : (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);" statement_identifier : (expression_statement "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);" (call_expression "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb])" identifier (argument_list "(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb])" ( (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" * (cast_expression "(undefined4 *)(iVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) ))) ;)) (if_statement "if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }" if (parenthesized_expression "(0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" ( (binary_expression "0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" number_literal < (pointer_expression "*(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" * (cast_expression "(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ec8" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);" (call_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25)" (parenthesized_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))" ( (pointer_expression "**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc)" * (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc)" * (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0xc)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0xc" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) )) (argument_list "(param_1[3],piVar18 + 0x25)" ( (subscript_expression "param_1[3]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) ))) ;) (expression_statement "iVar3 = piVar18[0x22];" (assignment_expression "iVar3 = piVar18[0x22]" identifier = (subscript_expression "piVar18[0x22]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x3a] = 0;" (assignment_expression "param_1[0x3a] = 0" (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5efc" identifier + number_literal)) ;) }) (else_clause "else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }" else (compound_statement "{\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }" { (expression_statement "iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));" (assignment_expression "iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" identifier = (call_expression "(**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" (parenthesized_expression "(**(code **)(param_1[0x27] + 0x28))" ( (pointer_expression "**(code **)(param_1[0x27] + 0x28)" * (pointer_expression "*(code **)(param_1[0x27] + 0x28)" * (cast_expression "(code **)(param_1[0x27] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x27] + 0x28)" ( (binary_expression "param_1[0x27] + 0x28" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" ( identifier , (subscript_expression "piVar18[0x1b]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x20]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" * (cast_expression "(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) )))) ;) (if_statement "if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }" { (expression_statement "iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);" (assignment_expression "iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22])" identifier = (call_expression "(**(code **)(param_1[0x27] + 8))(piVar18[0x22])" (parenthesized_expression "(**(code **)(param_1[0x27] + 8))" ( (pointer_expression "**(code **)(param_1[0x27] + 8)" * (pointer_expression "*(code **)(param_1[0x27] + 8)" * (cast_expression "(code **)(param_1[0x27] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x27] + 8)" ( (binary_expression "param_1[0x27] + 8" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar18[0x22])" ( (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x1d] = iVar3;" (assignment_expression "piVar18[0x1d] = iVar3" (subscript_expression "piVar18[0x1d]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }" if (parenthesized_expression "(piVar18[0x4d] == 0)" ( (binary_expression "piVar18[0x4d] == 0" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);" (assignment_expression "puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_000b2398 + 0x1ed8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ed8)" ( (binary_expression "PTR_DAT_000b2398 + 0x1ed8" identifier + number_literal) )))) ;) (expression_statement "puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;" (assignment_expression "puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0" identifier = (binary_expression "PTR_s_entropy_source_000b23f0 + 0x3a0" identifier + number_literal)) ;) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f54" identifier + number_literal)) ;) (expression_statement "puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;" (assignment_expression "puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac" identifier = identifier) ;) (do_statement "do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );" do (compound_statement "{\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  }" { (if_statement "if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }" if (parenthesized_expression "(((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2]))" ( (binary_expression "((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])" (parenthesized_expression "((undefined *)param_1[0x27] != puVar15)" ( (binary_expression "(undefined *)param_1[0x27] != puVar15" (cast_expression "(undefined *)param_1[0x27]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])) != identifier) )) && (parenthesized_expression "(0 < param_1[0x1b2])" ( (binary_expression "0 < param_1[0x1b2]" number_literal < (subscript_expression "param_1[0x1b2]" identifier [ number_literal ])) ))) )) (compound_statement "{\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }" { (if_statement "if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }" if (parenthesized_expression "(iVar12 != param_1[0x1ac])" ( (binary_expression "iVar12 != param_1[0x1ac]" identifier != (subscript_expression "param_1[0x1ac]" identifier [ number_literal ])) )) (compound_statement "{\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "piVar14 = param_1 + 0x1ad;" (assignment_expression "piVar14 = param_1 + 0x1ad" identifier = (binary_expression "param_1 + 0x1ad" identifier + number_literal)) ;) (do_statement "do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);" do (compound_statement "{\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        }" { (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (iVar7 == param_1[0x1b2]) goto LAB_00044588;" if (parenthesized_expression "(iVar7 == param_1[0x1b2])" ( (binary_expression "iVar7 == param_1[0x1b2]" identifier == (subscript_expression "param_1[0x1b2]" identifier [ number_literal ])) )) (goto_statement "goto LAB_00044588;" goto statement_identifier ;)) (expression_statement "iVar13 = *piVar14;" (assignment_expression "iVar13 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar13 != iVar12)" ( (binary_expression "iVar13 != iVar12" identifier != identifier) )) ;) })) (if_statement "if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }" { (expression_statement "iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);" (assignment_expression "iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6)" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)(puVar6)" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier )))) ;) }) (else_clause "else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }" else (compound_statement "{\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }" { (expression_statement "iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));" (assignment_expression "iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30))" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30))" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(puVar15 + 0x30)" * (cast_expression "(undefined4 *)(puVar15 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x30)" ( (binary_expression "puVar15 + 0x30" identifier + number_literal) )))) )))) ;) }))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "iVar3 = iVar7;" (assignment_expression "iVar3 = iVar7" identifier = identifier) ;) })) (labeled_statement "LAB_00044588:\n                    iVar12 = iVar12 + 1;" statement_identifier : (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;)) (expression_statement "puVar19 = puVar19 + 2;" (assignment_expression "puVar19 = puVar19 + 2" identifier = (binary_expression "puVar19 + 2" identifier + number_literal)) ;) (if_statement "if (iVar12 == 6) goto LAB_000456a8;" if (parenthesized_expression "(iVar12 == 6)" ( (binary_expression "iVar12 == 6" identifier == number_literal) )) (goto_statement "goto LAB_000456a8;" goto statement_identifier ;)) (expression_statement "puVar15 = (undefined *)*puVar19;" (assignment_expression "puVar15 = (undefined *)*puVar19" identifier = (cast_expression "(undefined *)*puVar19" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }" if (parenthesized_expression "(param_1[0x1b3] != 0)" ( (binary_expression "param_1[0x1b3] != 0" (subscript_expression "param_1[0x1b3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }" { (expression_statement "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" identifier = (call_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" (parenthesized_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)" ( (pointer_expression "*(code *)PTR_ssh2_fingerprint_000b29f8" * (cast_expression "(code *)PTR_ssh2_fingerprint_000b29f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x27],piVar18[0x22])" ( (subscript_expression "param_1[0x27]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar16 = param_1[0x44];" (assignment_expression "iVar16 = param_1[0x44]" identifier = (subscript_expression "param_1[0x44]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0x1e] = iVar3;" (assignment_expression "piVar18[0x1e] = iVar3" (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x604c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);" (call_expression "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],piVar18[0x1e])" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1e])" ( (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);" (call_expression "(*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d])" (parenthesized_expression "(*(code *)PTR_store_host_key_000b2a08)" ( (pointer_expression "*(code *)PTR_store_host_key_000b2a08" * (cast_expression "(code *)PTR_store_host_key_000b2a08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d])" ( (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x34)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x34)" ( (binary_expression "param_1[0x27] + 0x34" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "piVar18[0x1d]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = piVar18[0x1d];" (assignment_expression "iVar3 = piVar18[0x1d]" identifier = (subscript_expression "piVar18[0x1d]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x1b3] = 0;" (assignment_expression "param_1[0x1b3] = 0" (subscript_expression "param_1[0x1b3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x28] = iVar3;" (assignment_expression "param_1[0x28] = iVar3" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_000430d8;" goto statement_identifier ;) })) (expression_statement "iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);" (assignment_expression "iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3)" identifier = (call_expression "(*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3)" (parenthesized_expression "(*(code *)PTR_strcmp_000b2f40)" ( (pointer_expression "*(code *)PTR_strcmp_000b2f40" * (cast_expression "(code *)PTR_strcmp_000b2f40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x28],iVar3)" ( (subscript_expression "param_1[0x28]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6078" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "iVar3 = param_1[0x27];" (assignment_expression "iVar3 = param_1[0x27]" identifier = (subscript_expression "param_1[0x27]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_000430dc;" goto statement_identifier ;) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f1c" identifier + number_literal)) ;) }))) }))) }) (else_clause "else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }" else (compound_statement "{\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }" { (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5e7c" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(0x1c91 < iVar3)" ( (binary_expression "0x1c91 < iVar3" number_literal < identifier) )) (compound_statement "{\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }" { (if_statement "if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }" if (parenthesized_expression "(iVar3 == 0x1d8a)" ( (binary_expression "iVar3 == 0x1d8a" identifier == number_literal) )) (compound_statement "{\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }" { (if_statement "if (param_4 == (int *)0x0) goto LAB_000434a4;" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000434a4;" goto statement_identifier ;)) (if_statement "if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }" if (parenthesized_expression "(param_4[2] != 0x15)" ( (binary_expression "param_4[2] != 0x15" (subscript_expression "param_4[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6160" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "param_1[0x1a1] = 0;" (assignment_expression "param_1[0x1a1] = 0" (subscript_expression "param_1[0x1a1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }" if (parenthesized_expression "(param_1[0x1b] != 0)" ( (binary_expression "param_1[0x1b] != 0" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (**(code **)(param_1[0x19] + 4))();\n          }" { (expression_statement "(**(code **)(param_1[0x19] + 4))();" (call_expression "(**(code **)(param_1[0x19] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x19] + 4))" ( (pointer_expression "**(code **)(param_1[0x19] + 4)" * (pointer_expression "*(code **)(param_1[0x19] + 4)" * (cast_expression "(code **)(param_1[0x19] + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x19] + 4)" ( (binary_expression "param_1[0x19] + 4" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar19 = (undefined4 *)piVar18[0x13];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x13]" identifier = (cast_expression "(undefined4 *)piVar18[0x13]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x13]" identifier [ number_literal ]))) ;) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }" { (expression_statement "pcVar28 = (code *)*puVar19;" (assignment_expression "pcVar28 = (code *)*puVar19" identifier = (cast_expression "(code *)*puVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "param_1[0x19] = (int)puVar19;" (assignment_expression "param_1[0x19] = (int)puVar19" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar3 = (*pcVar28)();" (assignment_expression "iVar3 = (*pcVar28)()" identifier = (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0x1b] = iVar3;" (assignment_expression "param_1[0x1b] = iVar3" (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }" if (parenthesized_expression "(param_1[0x21] != 0)" ( (binary_expression "param_1[0x21] != 0" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (**(code **)(param_1[0x1d] + 4))();\n          }" { (expression_statement "(**(code **)(param_1[0x1d] + 4))();" (call_expression "(**(code **)(param_1[0x1d] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x1d] + 4))" ( (pointer_expression "**(code **)(param_1[0x1d] + 4)" * (pointer_expression "*(code **)(param_1[0x1d] + 4)" * (cast_expression "(code **)(param_1[0x1d] + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x1d] + 4)" ( (binary_expression "param_1[0x1d] + 4" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar19 = (undefined4 *)piVar18[0x15];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x15]" identifier = (cast_expression "(undefined4 *)piVar18[0x15]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x15]" identifier [ number_literal ]))) ;) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }" { (expression_statement "iVar3 = piVar18[0x17];" (assignment_expression "iVar3 = piVar18[0x17]" identifier = (subscript_expression "piVar18[0x17]" identifier [ number_literal ])) ;) (expression_statement "pcVar28 = (code *)*puVar19;" (assignment_expression "pcVar28 = (code *)*puVar19" identifier = (cast_expression "(code *)*puVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "param_1[0x1d] = (int)puVar19;" (assignment_expression "param_1[0x1d] = (int)puVar19" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x1f] = iVar3;" (assignment_expression "param_1[0x1f] = iVar3" (subscript_expression "param_1[0x1f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (*pcVar28)(param_1[0x1b]);" (assignment_expression "iVar3 = (*pcVar28)(param_1[0x1b])" identifier = (call_expression "(*pcVar28)(param_1[0x1b])" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_1[0x1b])" ( (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) )))) ;) (expression_statement "param_1[0x21] = iVar3;" (assignment_expression "param_1[0x21] = iVar3" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }" if (parenthesized_expression "(param_1[0x25] != 0)" ( (binary_expression "param_1[0x25] != 0" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (**(code **)(param_1[0x23] + 0x18))();\n          }" { (expression_statement "(**(code **)(param_1[0x23] + 0x18))();" (call_expression "(**(code **)(param_1[0x23] + 0x18))()" (parenthesized_expression "(**(code **)(param_1[0x23] + 0x18))" ( (pointer_expression "**(code **)(param_1[0x23] + 0x18)" * (pointer_expression "*(code **)(param_1[0x23] + 0x18)" * (cast_expression "(code **)(param_1[0x23] + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x23] + 0x18)" ( (binary_expression "param_1[0x23] + 0x18" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "iVar3 = piVar18[0x19];" (assignment_expression "iVar3 = piVar18[0x19]" identifier = (subscript_expression "piVar18[0x19]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x23] = iVar3;" (assignment_expression "param_1[0x23] = iVar3" (subscript_expression "param_1[0x23]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (**(code **)(iVar3 + 0x14))();" (assignment_expression "iVar3 = (**(code **)(iVar3 + 0x14))()" identifier = (call_expression "(**(code **)(iVar3 + 0x14))()" (parenthesized_expression "(**(code **)(iVar3 + 0x14))" ( (pointer_expression "**(code **)(iVar3 + 0x14)" * (pointer_expression "*(code **)(iVar3 + 0x14)" * (cast_expression "(code **)(iVar3 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0x25] = iVar3;" (assignment_expression "param_1[0x25] = iVar3" (subscript_expression "param_1[0x25]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }" if (parenthesized_expression "(param_1[0x19] != 0)" ( (binary_expression "param_1[0x19] != 0" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }" { (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x2c)" * (cast_expression "(undefined4 *)(param_1[0x19] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x2c)" ( (binary_expression "param_1[0x19] + 0x2c" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);" (call_expression "(**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x19] + 0xc))" ( (pointer_expression "**(code **)(param_1[0x19] + 0xc)" * (pointer_expression "*(code **)(param_1[0x19] + 0xc)" * (cast_expression "(code **)(param_1[0x19] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x19] + 0xc)" ( (binary_expression "param_1[0x19] + 0xc" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x1b],uVar22)" ( (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x2c)" * (cast_expression "(undefined4 *)(param_1[0x19] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x2c)" ( (binary_expression "param_1[0x19] + 0x2c" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x24)" * (cast_expression "(undefined4 *)(param_1[0x19] + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x24)" ( (binary_expression "param_1[0x19] + 0x24" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);" (call_expression "(**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x19] + 8))" ( (pointer_expression "**(code **)(param_1[0x19] + 8)" * (pointer_expression "*(code **)(param_1[0x19] + 8)" * (cast_expression "(code **)(param_1[0x19] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x19] + 8)" ( (binary_expression "param_1[0x19] + 8" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x1b],uVar22)" ( (subscript_expression "param_1[0x1b]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x19] + 0x24))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x24)" * (cast_expression "(undefined4 *)(param_1[0x19] + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x24)" ( (binary_expression "param_1[0x19] + 0x24" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) })) (if_statement "if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }" if (parenthesized_expression "(param_1[0x1d] == 0)" ( (binary_expression "param_1[0x1d] == 0" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }" { (expression_statement "iVar3 = param_1[0x19];" (assignment_expression "iVar3 = param_1[0x19]" identifier = (subscript_expression "param_1[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar3 != 0) goto LAB_000447c0;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000447c0;" goto statement_identifier ;)) (expression_statement "iVar3 = param_1[0x23];" (assignment_expression "iVar3 = param_1[0x23]" identifier = (subscript_expression "param_1[0x23]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }" else (compound_statement "{\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }" { (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x1d] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x1d] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1d] + 0x30)" ( (binary_expression "param_1[0x1d] + 0x30" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);" (call_expression "(**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x1d] + 8))" ( (pointer_expression "**(code **)(param_1[0x1d] + 8)" * (pointer_expression "*(code **)(param_1[0x1d] + 8)" * (cast_expression "(code **)(param_1[0x1d] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x1d] + 8)" ( (binary_expression "param_1[0x1d] + 8" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x21],uVar22)" ( (subscript_expression "param_1[0x21]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x1d] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x1d] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1d] + 0x30)" ( (binary_expression "param_1[0x1d] + 0x30" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "iVar3 = param_1[0x19];" (assignment_expression "iVar3 = param_1[0x19]" identifier = (subscript_expression "param_1[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }" { (labeled_statement "LAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));" statement_identifier : (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6188" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar3 + 0x34)" * (cast_expression "(undefined4 *)(iVar3 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) )))) ))) ;)) })) (if_statement "if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }" if (parenthesized_expression "(param_1[0x1d] != 0)" ( (binary_expression "param_1[0x1d] != 0" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }" { (if_statement "if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }" if (parenthesized_expression "(param_1[0x1f] == 0)" ( (binary_expression "param_1[0x1f] == 0" (subscript_expression "param_1[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }" else (compound_statement "{\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x585c" identifier + number_literal)) ;) }))) (if_statement "if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }" if (parenthesized_expression "(*(int *)(param_1[0x19] + 0x38) == 0)" ( (binary_expression "*(int *)(param_1[0x19] + 0x38) == 0" (pointer_expression "*(int *)(param_1[0x19] + 0x38)" * (cast_expression "(int *)(param_1[0x19] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x19] + 0x38)" ( (binary_expression "param_1[0x19] + 0x38" (subscript_expression "param_1[0x19]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }" { (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) }) (else_clause "else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }" else (compound_statement "{\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }" { (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x586c" identifier + number_literal)) ;) }))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x61b8" identifier + number_literal) , (pointer_expression "*(undefined4 *)(param_1[0x1d] + 0x34)" * (cast_expression "(undefined4 *)(param_1[0x1d] + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1d] + 0x34)" ( (binary_expression "param_1[0x1d] + 0x34" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) + number_literal) )))) , identifier , identifier ))) ;) })) (expression_statement "iVar3 = param_1[0x23];" (assignment_expression "iVar3 = param_1[0x23]" identifier = (subscript_expression "param_1[0x23]" identifier [ number_literal ])) ;) }))) (if_statement "if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }" if (parenthesized_expression "(*(int *)(iVar3 + 0x24) != 0)" ( (binary_expression "*(int *)(iVar3 + 0x24) != 0" (pointer_expression "*(int *)(iVar3 + 0x24)" * (cast_expression "(int *)(iVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x24)" ( (binary_expression "iVar3 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }" { (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x61ec" identifier + number_literal) ))) ;) })) (expression_statement "freebn(piVar18[0xb]);" (call_expression "freebn(piVar18[0xb])" identifier (argument_list "(piVar18[0xb])" ( (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);" (call_expression "(*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44])" (parenthesized_expression "(*(code *)PTR_update_specials_menu_000b2880)" ( (pointer_expression "*(code *)PTR_update_specials_menu_000b2880" * (cast_expression "(code *)PTR_update_specials_menu_000b2880" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44])" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar6 = PTR_getticks_000b23ac;" (assignment_expression "puVar6 = PTR_getticks_000b23ac" identifier = identifier) ;) (if_statement "if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }" if (parenthesized_expression "(param_1[0x1a8] != 0)" ( (binary_expression "param_1[0x1a8] != 0" (subscript_expression "param_1[0x1a8]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }" { (expression_statement "(*(code *)PTR_logevent_000b242c)(param_1[0x44]);" (call_expression "(*(code *)PTR_logevent_000b242c)(param_1[0x44])" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44])" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) ))) ;) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1[0x1a8] = 0;" (assignment_expression "param_1[0x1a8] = 0" (subscript_expression "param_1[0x1a8]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000448a0;" goto statement_identifier ;) })) (expression_statement "param_1[0x1a5] = 0;" (assignment_expression "param_1[0x1a5] = 0" (subscript_expression "param_1[0x1a5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar6)();" (assignment_expression "iVar3 = (*(code *)puVar6)()" identifier = (call_expression "(*(code *)puVar6)()" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar6 = PTR_conf_get_int_000b2434;" (assignment_expression "puVar6 = PTR_conf_get_int_000b2434" identifier = identifier) ;) (expression_statement "piVar14 = (int *)param_1[0x92];" (assignment_expression "piVar14 = (int *)param_1[0x92]" identifier = (cast_expression "(int *)param_1[0x92]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x92]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x1a7] = iVar3;" (assignment_expression "param_1[0x1a7] = iVar3" (subscript_expression "param_1[0x1a7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,0x1a);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,0x1a)" identifier = (call_expression "(*(code *)puVar6)(piVar14,0x1a)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,0x1a)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }" { (expression_statement "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);" (assignment_expression "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" identifier = (call_expression "(*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" (parenthesized_expression "(*(code *)PTR_conf_get_int_000b2434)" ( (pointer_expression "*(code *)PTR_conf_get_int_000b2434" * (cast_expression "(code *)PTR_conf_get_int_000b2434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x1a)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar14 = (int *)(iVar3 * 60000);" (assignment_expression "piVar14 = (int *)(iVar3 * 60000)" identifier = (cast_expression "(int *)(iVar3 * 60000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 * 60000)" ( (binary_expression "iVar3 * 60000" identifier * number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" identifier = (call_expression "(*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (parenthesized_expression "(*(code *)PTR_schedule_timer_000b2568)" ( (pointer_expression "*(code *)PTR_schedule_timer_000b2568" * (cast_expression "(code *)PTR_schedule_timer_000b2568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" ( identifier , (binary_expression "PTR_LAB_000b28f8 + -0x1014" identifier + number_literal) , identifier )))) ;) (expression_statement "param_1[0x1a6] = iVar3;" (assignment_expression "param_1[0x1a6] = iVar3" (subscript_expression "param_1[0x1a6]" identifier [ number_literal ]) = identifier) ;) })) (labeled_statement "LAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }" statement_identifier : (if_statement "if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }" if (parenthesized_expression "(param_4[2] == 0x14)" ( (binary_expression "param_4[2] == 0x14" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }" { (expression_statement "(*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x620c" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000448a0;" goto statement_identifier ;) }))) }) (else_clause "else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }" else (compound_statement "{\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }" { (if_statement "if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }" if (parenthesized_expression "(iVar3 != 0x1e09)" ( (binary_expression "iVar3 != 0x1e09" identifier != number_literal) )) (compound_statement "{\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }" { (if_statement "if (iVar3 != 0x1cf9) goto LAB_00042f14;" if (parenthesized_expression "(iVar3 != 0x1cf9)" ( (binary_expression "iVar3 != 0x1cf9" identifier != number_literal) )) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;)) (if_statement "if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }" { (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) goto LAB_000457e0;" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (goto_statement "goto LAB_000457e0;" goto statement_identifier ;)) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00043094;" goto statement_identifier ;) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5fe0" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (param_4 != (int *)0x0) goto LAB_00043eb4;" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043eb4;" goto statement_identifier ;)) (if_statement "if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }" if (parenthesized_expression "(param_3 < 0)" ( (binary_expression "param_3 < 0" identifier < number_literal) )) (compound_statement "{\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }" { (if_statement "if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }" if (parenthesized_expression "(param_3 == -2)" ( (binary_expression "param_3 == -2" identifier == number_literal) )) (compound_statement "{\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }" { (if_statement "if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }" if (parenthesized_expression "(piVar18[0x4b] != 0)" ( (binary_expression "piVar18[0x4b] != 0" (subscript_expression "piVar18[0x4b]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6230" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar18[0x4b] = 1;" (assignment_expression "piVar18[0x4b] = 1" (subscript_expression "piVar18[0x4b]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x4c] == 0) goto LAB_00043ec8;" if (parenthesized_expression "(piVar18[0x4c] == 0)" ( (binary_expression "piVar18[0x4c] == 0" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00043ec8;" goto statement_identifier ;)) (expression_statement "piVar18[0x4c] = 0;" (assignment_expression "piVar18[0x4c] = 0" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) = number_literal) ;) })) (if_statement "if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }" if (parenthesized_expression "((param_1[0x14] & 0x40U) == 0)" ( (binary_expression "(param_1[0x14] & 0x40U) == 0" (parenthesized_expression "(param_1[0x14] & 0x40U)" ( (binary_expression "param_1[0x14] & 0x40U" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }" { (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6274" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_000448a0;" goto statement_identifier ;) })) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6248" identifier + number_literal) , identifier ))) ;) (expression_statement "piVar14 = (int *)param_1[0x92];" (assignment_expression "piVar14 = (int *)param_1[0x92]" identifier = (cast_expression "(int *)param_1[0x92]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x92]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x1a2] = 0;" (assignment_expression "param_1[0x1a2] = 0" (subscript_expression "param_1[0x1a2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar15 = PTR_conf_get_int_000b2434;" (assignment_expression "puVar15 = PTR_conf_get_int_000b2434" identifier = identifier) ;) (expression_statement "param_1[0x1a1] = 0;" (assignment_expression "param_1[0x1a1] = 0" (subscript_expression "param_1[0x1a1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar15)(piVar14,0x1a);" (assignment_expression "iVar3 = (*(code *)puVar15)(piVar14,0x1a)" identifier = (call_expression "(*(code *)puVar15)(piVar14,0x1a)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,0x1a)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }" { (expression_statement "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);" (assignment_expression "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" identifier = (call_expression "(*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" (parenthesized_expression "(*(code *)PTR_conf_get_int_000b2434)" ( (pointer_expression "*(code *)PTR_conf_get_int_000b2434" * (cast_expression "(code *)PTR_conf_get_int_000b2434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x1a)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar14 = (int *)(iVar3 * 60000);" (assignment_expression "piVar14 = (int *)(iVar3 * 60000)" identifier = (cast_expression "(int *)(iVar3 * 60000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 * 60000)" ( (binary_expression "iVar3 * 60000" identifier * number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" identifier = (call_expression "(*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (parenthesized_expression "(*(code *)PTR_schedule_timer_000b2568)" ( (pointer_expression "*(code *)PTR_schedule_timer_000b2568" * (cast_expression "(code *)PTR_schedule_timer_000b2568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" ( identifier , (binary_expression "PTR_LAB_000b28f8 + -0x1014" identifier + number_literal) , identifier )))) ;) (expression_statement "param_1[0x1a6] = iVar3;" (assignment_expression "param_1[0x1a6] = iVar3" (subscript_expression "param_1[0x1a6]" identifier [ number_literal ]) = identifier) ;) })) })) }))) (labeled_statement "LAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" statement_identifier : (if_statement "if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" if (parenthesized_expression "(param_1[0x8e] == 0)" ( (binary_expression "param_1[0x8e] == 0" (subscript_expression "param_1[0x8e]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }" { (expression_statement "param_1[0x8e] = 1;" (assignment_expression "param_1[0x8e] = 1" (subscript_expression "param_1[0x8e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0003f3f4(param_1,0,0,0);" (call_expression "FUN_0003f3f4(param_1,0,0,0)" identifier (argument_list "(param_1,0,0,0)" ( identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "*piVar18 = 0x1e09;" (assignment_expression "*piVar18 = 0x1e09" (pointer_expression "*piVar18" * identifier) = number_literal) ;) }) (else_clause "else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" else (compound_statement "{\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" { (expression_statement "*piVar18 = 0x1e09;" (assignment_expression "*piVar18 = 0x1e09" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) })))) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(iVar3 == 0x1bec)" ( (binary_expression "iVar3 == 0x1bec" identifier == number_literal) )) (compound_statement "{\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (if_statement "if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }" { (if_statement "if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }" if (parenthesized_expression "(param_4[2] == 0x1f)" ( (binary_expression "param_4[2] == 0x1f" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }" { (expression_statement "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704)" identifier = (cast_expression "(code *)(PTR_LAB_000b2760 + 0x7704)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b2760 + 0x7704)" ( (binary_expression "PTR_LAB_000b2760 + 0x7704" identifier + number_literal) )))) ;) (expression_statement "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" identifier (argument_list "(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" ( identifier , (binary_expression "piVar18 + 0x1a" identifier + number_literal) , (binary_expression "piVar18 + 0x1f" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }" if (parenthesized_expression "(piVar18[0x1a] == 0)" ( (binary_expression "piVar18[0x1a] == 0" (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }" { (labeled_statement "LAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;" statement_identifier : (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d04" identifier + number_literal)) ;)) }) (else_clause "else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }" else (compound_statement "{\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }" { (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);" (assignment_expression "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" identifier = (call_expression "(**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (parenthesized_expression "(**(code **)param_1[0x27])" ( (pointer_expression "**(code **)param_1[0x27]" * (pointer_expression "*(code **)param_1[0x27]" * (cast_expression "(code **)param_1[0x27]" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])))) )) (argument_list "((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" ( (cast_expression "(undefined4 *)param_1[0x27]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;" (assignment_expression "puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c" identifier = identifier) ;) (expression_statement "piVar18[0x22] = iVar3;" (assignment_expression "piVar18[0x22] = iVar3" (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);" (assignment_expression "iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54)" identifier = (call_expression "(*(code *)puVar15)(piVar18[0x24],&local_54)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24],&local_54)" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }" { (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d28" identifier + number_literal)) ;) }) (else_clause "else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }" else (compound_statement "{\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }" { (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "(*pcVar28)(param_4,&local_58,&local_54);" (call_expression "(*pcVar28)(param_4,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_4,&local_58,&local_54)" ( identifier , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_54" & identifier) ))) ;) (if_statement "if (local_58 == 0) goto LAB_00045a04;" if (parenthesized_expression "(local_58 == 0)" ( (binary_expression "local_58 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00045a04;" goto statement_identifier ;)) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54)" identifier = (call_expression "(*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54)" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_getkey_000b2990)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_getkey_000b2990" * (cast_expression "(code *)PTR_ssh_ecdhkex_getkey_000b2990" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24],local_58,local_54)" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) , identifier , identifier )))) ;) (expression_statement "piVar18[0xb] = iVar3;" (assignment_expression "piVar18[0xb] = iVar3" (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }" { (expression_statement "(*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);" (call_expression "(*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_4,piVar18 + 0x1b,piVar18 + 0x20)" ( identifier , (binary_expression "piVar18 + 0x1b" identifier + number_literal) , (binary_expression "piVar18 + 0x20" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1b] == 0) goto LAB_000459b4;" if (parenthesized_expression "(piVar18[0x1b] == 0)" ( (binary_expression "piVar18[0x1b] == 0" (subscript_expression "piVar18[0x1b]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000459b4;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_0004446c;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d54" identifier + number_literal)) ;) }))) }))) }) (else_clause "else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }" else (compound_statement "{\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }" { (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5cdc" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (labeled_statement "LAB_00044a00:\n        *piVar18 = 0x1bec;" statement_identifier : (expression_statement "*piVar18 = 0x1bec;" (assignment_expression "*piVar18 = 0x1bec" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(iVar3 == 0x1c2a)" ( (binary_expression "iVar3 == 0x1c2a" identifier == number_literal) )) (compound_statement "{\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (if_statement "if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }" { (if_statement "if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }" if (parenthesized_expression "(param_4[2] == 0x1e)" ( (binary_expression "param_4[2] == 0x1e" (subscript_expression "param_4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }" { (expression_statement "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" identifier (argument_list "(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" ( identifier , (binary_expression "piVar18 + 0x1a" identifier + number_literal) , (binary_expression "piVar18 + 0x1f" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }" if (parenthesized_expression "(piVar18[0x1a] != 0)" ( (binary_expression "piVar18[0x1a] != 0" (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }" { (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);" (assignment_expression "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" identifier = (call_expression "(**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (parenthesized_expression "(**(code **)param_1[0x27])" ( (pointer_expression "**(code **)param_1[0x27]" * (pointer_expression "*(code **)param_1[0x27]" * (cast_expression "(code **)param_1[0x27]" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])))) )) (argument_list "((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" ( (cast_expression "(undefined4 *)param_1[0x27]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x22] = iVar3;" (assignment_expression "piVar18[0x22] = iVar3" (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00037704(param_4,&local_54,piVar18 + 0x21);" (call_expression "FUN_00037704(param_4,&local_54,piVar18 + 0x21)" identifier (argument_list "(param_4,&local_54,piVar18 + 0x21)" ( identifier , (pointer_expression "&local_54" & identifier) , (binary_expression "piVar18 + 0x21" identifier + number_literal) ))) ;) (if_statement "if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }" if (parenthesized_expression "(local_54 != 0)" ( (binary_expression "local_54 != 0" identifier != number_literal) )) (compound_statement "{\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }" { (expression_statement "iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);" (assignment_expression "iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1)" identifier = (call_expression "(*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" ( (pointer_expression "*(code *)PTR_safemalloc_000b2408" * (cast_expression "(code *)PTR_safemalloc_000b2408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x21],1)" ( (subscript_expression "piVar18[0x21]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "piVar18[0x1c] = iVar3;" (assignment_expression "piVar18[0x1c] = iVar3" (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);" (call_expression "(*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21])" (parenthesized_expression "(*(code *)PTR_memcpy_000b2f08)" ( (pointer_expression "*(code *)PTR_memcpy_000b2f08" * (cast_expression "(code *)PTR_memcpy_000b2f08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,local_54,piVar18[0x21])" ( identifier , identifier , (subscript_expression "piVar18[0x21]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21])" identifier = (call_expression "(*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21])" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_newkey_000b2994)" ( (pointer_expression "*(code *)PTR_ssh_rsakex_newkey_000b2994" * (cast_expression "(code *)PTR_ssh_rsakex_newkey_000b2994" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c],piVar18[0x21])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x21]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x23] = iVar3;" (assignment_expression "piVar18[0x23] = iVar3" (subscript_expression "piVar18[0x23]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }" { (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x21]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23])" identifier = (call_expression "(*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23])" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_klen_000b2998)" ( (pointer_expression "*(code *)PTR_ssh_rsakex_klen_000b2998" * (cast_expression "(code *)PTR_ssh_rsakex_klen_000b2998" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x23])" ( (subscript_expression "piVar18[0x23]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar16 = 0x800;" (assignment_expression "iVar16 = 0x800" identifier = number_literal) ;) (if_statement "if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }" if (parenthesized_expression "((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c)" ( (binary_expression "(undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c" (cast_expression "(undefined *)param_1[0x26]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n                    iVar16 = 0x400;\n                  }" { (expression_statement "iVar16 = 0x400;" (assignment_expression "iVar16 = 0x400" identifier = number_literal) ;) })) (if_statement "if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }" if (parenthesized_expression "(iVar3 < iVar16)" ( (binary_expression "iVar3 < iVar16" identifier < identifier) )) (compound_statement "{\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }" { (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26])" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26])" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26])" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5e20" identifier + number_literal) , identifier , identifier , (pointer_expression "*(undefined4 *)param_1[0x26]" * (cast_expression "(undefined4 *)param_1[0x26]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ]))) )))) ;) (goto_statement "goto LAB_00043628;" goto statement_identifier ;) })) (expression_statement "uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);" (assignment_expression "uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31)" identifier = (binary_expression "iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31)" identifier - (parenthesized_expression "(*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31)" ( (binary_expression "*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31" (binary_expression "*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10" (pointer_expression "*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14)" * (cast_expression "(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14)" ( (binary_expression "*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)((undefined *)param_1[0x26] + 0xc)" * (cast_expression "(int *)((undefined *)param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((undefined *)param_1[0x26] + 0xc)" ( (binary_expression "(undefined *)param_1[0x26] + 0xc" (cast_expression "(undefined *)param_1[0x26]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ])) + number_literal) )))) + number_literal) )))) * number_literal) + number_literal) )))) ;) (if_statement "if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5e70" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar16 = bn_power_2(uVar4 - 1);" (assignment_expression "iVar16 = bn_power_2(uVar4 - 1)" identifier = (call_expression "bn_power_2(uVar4 - 1)" identifier (argument_list "(uVar4 - 1)" ( (binary_expression "uVar4 - 1" identifier - number_literal) )))) ;) (expression_statement "piVar18[0xb] = iVar16;" (assignment_expression "piVar18[0xb] = iVar16" (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);" do (compound_statement "{\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  }" { (if_statement "if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }" if (parenthesized_expression "((uVar21 & 7) == 0)" ( (binary_expression "(uVar21 & 7) == 0" (parenthesized_expression "(uVar21 & 7)" ( (binary_expression "uVar21 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }" { (expression_statement "local_80 = (*(code *)PTR_random_byte_000b28d4)();" (assignment_expression "local_80 = (*(code *)PTR_random_byte_000b28d4)()" identifier = (call_expression "(*(code *)PTR_random_byte_000b28d4)()" (parenthesized_expression "(*(code *)PTR_random_byte_000b28d4)" ( (pointer_expression "*(code *)PTR_random_byte_000b28d4" * (cast_expression "(code *)PTR_random_byte_000b28d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) })) (expression_statement "uVar20 = uVar21 + 1;" (assignment_expression "uVar20 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (expression_statement "bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);" (call_expression "bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1)" identifier (argument_list "(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1)" ( (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , identifier , (binary_expression "local_80 >> (uVar21 & 7) & 1" (binary_expression "local_80 >> (uVar21 & 7)" identifier >> (parenthesized_expression "(uVar21 & 7)" ( (binary_expression "uVar21 & 7" identifier & number_literal) ))) & number_literal) ))) ;) (expression_statement "uVar21 = uVar20;" (assignment_expression "uVar21 = uVar20" identifier = identifier) ;) }) while (parenthesized_expression "(uVar4 != uVar20)" ( (binary_expression "uVar4 != uVar20" identifier != identifier) )) ;) (expression_statement "iVar16 = iVar3 + 7 >> 3;" (assignment_expression "iVar16 = iVar3 + 7 >> 3" identifier = (binary_expression "iVar3 + 7 >> 3" (binary_expression "iVar3 + 7" identifier + number_literal) >> number_literal)) ;) (expression_statement "uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);" (assignment_expression "uVar22 = FUN_00037c0c(piVar18[0xb],&local_54)" identifier = (call_expression "FUN_00037c0c(piVar18[0xb],&local_54)" identifier (argument_list "(piVar18[0xb],&local_54)" ( (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (pointer_expression "&local_54" & identifier) )))) ;) (expression_statement "iVar3 = local_54 + 4;" (assignment_expression "iVar3 = local_54 + 4" identifier = (binary_expression "local_54 + 4" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);" (assignment_expression "puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_safemalloc_000b2408)(iVar3,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" ( (pointer_expression "*(code *)PTR_safemalloc_000b2408" * (cast_expression "(code *)PTR_safemalloc_000b2408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,1)" ( identifier , number_literal ))))) ;) (expression_statement "*puVar8 = local_54._0_1_;" (assignment_expression "*puVar8 = local_54._0_1_" (pointer_expression "*puVar8" * identifier) = (field_expression "local_54._0_1_" identifier . field_identifier)) ;) (expression_statement "puVar15 = PTR_memcpy_000b2f08;" (assignment_expression "puVar15 = PTR_memcpy_000b2f08" identifier = identifier) ;) (expression_statement "puVar8[1] = (char)(local_54 >> 0x10);" (assignment_expression "puVar8[1] = (char)(local_54 >> 0x10)" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (cast_expression "(char)(local_54 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(local_54 >> 0x10)" ( (binary_expression "local_54 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "puVar8[2] = (char)(local_54 >> 8);" (assignment_expression "puVar8[2] = (char)(local_54 >> 8)" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = (cast_expression "(char)(local_54 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(local_54 >> 8)" ( (binary_expression "local_54 >> 8" identifier >> number_literal) )))) ;) (expression_statement "puVar8[3] = (char)local_54;" (assignment_expression "puVar8[3] = (char)local_54" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = (cast_expression "(char)local_54" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(*(code *)puVar15)(puVar8 + 4,uVar22,local_54);" (call_expression "(*(code *)puVar15)(puVar8 + 4,uVar22,local_54)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8 + 4,uVar22,local_54)" ( (binary_expression "puVar8 + 4" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);" (assignment_expression "uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1)" identifier = (call_expression "(*(code *)PTR_safemalloc_000b2408)(iVar16,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" ( (pointer_expression "*(code *)PTR_safemalloc_000b2408" * (cast_expression "(code *)PTR_safemalloc_000b2408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,1)" ( identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);" (call_expression "(*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23])" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_encrypt_000b29ec)" ( (pointer_expression "*(code *)PTR_ssh_rsakex_encrypt_000b29ec" * (cast_expression "(code *)PTR_ssh_rsakex_encrypt_000b29ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23])" ( (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" * (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) , identifier , identifier , identifier , identifier , (subscript_expression "piVar18[0x23]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar19 = (undefined4 *)FUN_0003b04c(0x1f);" (assignment_expression "puVar19 = (undefined4 *)FUN_0003b04c(0x1f)" identifier = (cast_expression "(undefined4 *)FUN_0003b04c(0x1f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b04c(0x1f)" identifier (argument_list "(0x1f)" ( number_literal ))))) ;) (expression_statement "piVar18[0x4f] = (int)puVar19;" (assignment_expression "piVar18[0x4f] = (int)puVar19" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" identifier (argument_list "(puVar19,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "iVar3 = piVar18[0x4f];" (assignment_expression "iVar3 = piVar18[0x4f]" identifier = (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])) ;) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "FUN_0003b124(iVar3,uVar17,iVar16);" (call_expression "FUN_0003b124(iVar3,uVar17,iVar16)" identifier (argument_list "(iVar3,uVar17,iVar16)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(puVar8);" (call_expression "(*(code *)PTR_safefree_000b23d0)(puVar8)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar17);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar17)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar17)" ( identifier ))) ;) (expression_statement "piVar14 = (int *)piVar18[0x23];" (assignment_expression "piVar14 = (int *)piVar18[0x23]" identifier = (cast_expression "(int *)piVar18[0x23]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x23]" identifier [ number_literal ]))) ;) (expression_statement "(*(code *)PTR_ssh_rsakex_freekey_000b29f0)();" (call_expression "(*(code *)PTR_ssh_rsakex_freekey_000b29f0)()" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_freekey_000b29f0)" ( (pointer_expression "*(code *)PTR_ssh_rsakex_freekey_000b29f0" * (cast_expression "(code *)PTR_ssh_rsakex_freekey_000b29f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00045644;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1c])" ( (subscript_expression "piVar18[0x1c]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5df4" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5dcc" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }" else (compound_statement "{\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5da0" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (labeled_statement "LAB_000451dc:\n        *piVar18 = 0x1c2a;" statement_identifier : (expression_statement "*piVar18 = 0x1c2a;" (assignment_expression "*piVar18 = 0x1c2a" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (iVar3 != 0x1b96) goto LAB_00042f14;" if (parenthesized_expression "(iVar3 != 0x1b96)" ( (binary_expression "iVar3 != 0x1b96" identifier != number_literal) )) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;)) (if_statement "if (param_4 == (int *)0x0) goto LAB_00043e9c;" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043e9c;" goto statement_identifier ;)) (if_statement "if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(param_4[2] != piVar18[0xf])" ( (binary_expression "param_4[2] != piVar18[0xf]" (subscript_expression "param_4[2]" identifier [ number_literal ]) != (subscript_expression "piVar18[0xf]" identifier [ number_literal ])) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5bd8" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);" (call_expression "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2)" (parenthesized_expression "(*(code *)PTR_set_busy_status_000b296c)" ( (pointer_expression "*(code *)PTR_set_busy_status_000b296c" * (cast_expression "(code *)PTR_set_busy_status_000b296c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],2)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" identifier (argument_list "(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" ( identifier , (binary_expression "piVar18 + 0x1a" identifier + number_literal) , (binary_expression "piVar18 + 0x1f" identifier + number_literal) ))) ;) (if_statement "if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(piVar18[0x1a] == 0)" ( (binary_expression "piVar18[0x1a] == 0" (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }" { (labeled_statement "LAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;" statement_identifier : (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c08" identifier + number_literal)) ;)) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);" (assignment_expression "iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" identifier = (call_expression "(**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (parenthesized_expression "(**(code **)param_1[0x27])" ( (pointer_expression "**(code **)param_1[0x27]" * (pointer_expression "*(code **)param_1[0x27]" * (cast_expression "(code **)param_1[0x27]" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])))) )) (argument_list "((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" ( (cast_expression "(undefined4 *)param_1[0x27]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ])) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x22] = iVar3;" (assignment_expression "piVar18[0x22] = iVar3" (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = FUN_00037b74(param_4);" (assignment_expression "iVar3 = FUN_00037b74(param_4)" identifier = (call_expression "FUN_00037b74(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "piVar18[10] = iVar3;" (assignment_expression "piVar18[10] = iVar3" (subscript_expression "piVar18[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;" if (parenthesized_expression "((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))" ( (binary_expression "(iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0)" ( (comma_expression "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0" (call_expression "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20)" identifier (argument_list "(param_4,piVar18 + 0x1b,piVar18 + 0x20)" ( identifier , (binary_expression "piVar18 + 0x1b" identifier + number_literal) , (binary_expression "piVar18 + 0x20" identifier + number_literal) ))) , (binary_expression "piVar18[0x1b] == 0" (subscript_expression "piVar18[0x1b]" identifier [ number_literal ]) == number_literal)) ))) )) (goto_statement "goto LAB_000459b4;" goto statement_identifier ;)) (expression_statement "iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);" (assignment_expression "iVar3 = dh_validate_f(param_1[0x3a],piVar18[10])" identifier = (call_expression "dh_validate_f(param_1[0x3a],piVar18[10])" identifier (argument_list "(param_1[0x3a],piVar18[10])" ( (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) , (subscript_expression "piVar18[10]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }" { (expression_statement "iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);" (assignment_expression "iVar3 = dh_find_K(param_1[0x3a],piVar18[10])" identifier = (call_expression "dh_find_K(param_1[0x3a],piVar18[10])" identifier (argument_list "(param_1[0x3a],piVar18[10])" ( (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) , (subscript_expression "piVar18[10]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar15 = PTR_set_busy_status_000b296c;" (assignment_expression "puVar15 = PTR_set_busy_status_000b296c" identifier = identifier) ;) (expression_statement "iVar16 = param_1[0x44];" (assignment_expression "iVar16 = param_1[0x44]" identifier = (subscript_expression "param_1[0x44]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0xb] = iVar3;" (assignment_expression "piVar18[0xb] = iVar3" (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)puVar15)(iVar16,0);" (call_expression "(*(code *)puVar15)(iVar16,0)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,0)" ( identifier , number_literal ))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1a]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1f]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = dh_is_gex(param_1[0x26]);" (assignment_expression "iVar3 = dh_is_gex(param_1[0x26])" identifier = (call_expression "dh_is_gex(param_1[0x26])" identifier (argument_list "(param_1[0x26])" ( (subscript_expression "param_1[0x26]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar3 = param_1[0x26];\n        }" { (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }" else (compound_statement "{\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }" { (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);" (assignment_expression "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" identifier = (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" * (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }" if (parenthesized_expression "((param_1[0x14] & 0x1000U) == 0)" ( (binary_expression "(param_1[0x14] & 0x1000U) == 0" (parenthesized_expression "(param_1[0x14] & 0x1000U)" ( (binary_expression "param_1[0x14] & 0x1000U" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }" { (expression_statement "local_30 = 0x400;" (assignment_expression "local_30 = 0x400" identifier = number_literal) ;) (expression_statement "(*pcVar28)(iVar3,&local_30,4);" (call_expression "(*pcVar28)(iVar3,&local_30,4)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(iVar3,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);" (assignment_expression "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" identifier = (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" * (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) })) (expression_statement "local_30 = piVar18[2];" (assignment_expression "local_30 = piVar18[2]" identifier = (subscript_expression "piVar18[2]" identifier [ number_literal ])) ;) (expression_statement "(*pcVar28)(iVar3,&local_30,4);" (call_expression "(*pcVar28)(iVar3,&local_30,4)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(iVar3,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (if_statement "if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }" if (parenthesized_expression "((param_1[0x14] & 0x1000U) == 0)" ( (binary_expression "(param_1[0x14] & 0x1000U) == 0" (parenthesized_expression "(param_1[0x14] & 0x1000U)" ( (binary_expression "param_1[0x14] & 0x1000U" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }" { (expression_statement "local_30 = 0x2000;" (assignment_expression "local_30 = 0x2000" identifier = number_literal) ;) (expression_statement "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);" (call_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4)" (parenthesized_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))" ( (pointer_expression "**(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" * (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" * (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) )) (argument_list "(param_1[3],&local_30,4)" ( (subscript_expression "param_1[3]" identifier [ number_literal ]) , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) })) (expression_statement "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);" (call_expression "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7])" identifier (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7])" ( (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" * (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[7]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);" (call_expression "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8])" identifier (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8])" ( (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" * (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[8]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) }))) (expression_statement "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);" (call_expression "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9])" identifier (argument_list "(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9])" ( (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" * (cast_expression "(undefined4 *)(iVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[9]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);" (call_expression "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10])" identifier (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10])" ( (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" * (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[10]" identifier [ number_literal ]) ))) ;) (expression_statement "dh_cleanup(param_1[0x3a]);" (call_expression "dh_cleanup(param_1[0x3a])" identifier (argument_list "(param_1[0x3a])" ( (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) ))) ;) (expression_statement "freebn(piVar18[10]);" (call_expression "freebn(piVar18[10])" identifier (argument_list "(piVar18[10])" ( (subscript_expression "piVar18[10]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = dh_is_gex(param_1[0x26]);" (assignment_expression "iVar3 = dh_is_gex(param_1[0x26])" identifier = (call_expression "dh_is_gex(param_1[0x26])" identifier (argument_list "(param_1[0x26])" ( (subscript_expression "param_1[0x26]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0004446c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004446c;" goto statement_identifier ;)) (expression_statement "freebn(piVar18[8]);" (call_expression "freebn(piVar18[8])" identifier (argument_list "(piVar18[8])" ( (subscript_expression "piVar18[8]" identifier [ number_literal ]) ))) ;) (expression_statement "freebn(piVar18[7]);" (call_expression "freebn(piVar18[7])" identifier (argument_list "(piVar18[7])" ( (subscript_expression "piVar18[7]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00044470;" goto statement_identifier ;) })) (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3)" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3)" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c34" identifier + number_literal) , identifier )))) ;) (goto_statement "goto LAB_00043628;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }" if (parenthesized_expression "(iVar3 == 0x1aff)" ( (binary_expression "iVar3 == 0x1aff" identifier == number_literal) )) (compound_statement "{\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }" { (if_statement "if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }" { (labeled_statement "LAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;" statement_identifier : (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a44" identifier + number_literal)) ;)) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (compound_statement "{\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (labeled_statement "LAB_00043d00:\n        *piVar18 = 0x1aff;" statement_identifier : (expression_statement "*piVar18 = 0x1aff;" (assignment_expression "*piVar18 = 0x1aff" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00044370:\n      piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }" if (parenthesized_expression "(piVar18[0x50] == 0)" ( (binary_expression "piVar18[0x50] == 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5aac" identifier + number_literal)) ;) (goto_statement "goto LAB_00045800;" goto statement_identifier ;) })) (labeled_statement "LAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }" statement_identifier : (if_statement "if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }" if (parenthesized_expression "(piVar18[5] != 0)" ( (binary_expression "piVar18[5] != 0" (subscript_expression "piVar18[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }" { (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar6 = PTR_askalg_000b2974;" (assignment_expression "puVar6 = PTR_askalg_000b2974" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);" (assignment_expression "uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20)" identifier = (pointer_expression "*(undefined4 *)(piVar18[0x12] + 0x20)" * (cast_expression "(undefined4 *)(piVar18[0x12] + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x12] + 0x20)" ( (binary_expression "piVar18[0x12] + 0x20" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "puVar5 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar5 = PTR_LAB_000b28f8 + -0xf58" identifier = (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal)) ;) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1)" identifier = (call_expression "(*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1)" ( identifier , (binary_expression "puVar15 + 0x58b0" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" { (labeled_statement "LAB_0004440c:\n          *piVar18 = 0x1b18;" statement_identifier : (expression_statement "*piVar18 = 0x1b18;" (assignment_expression "*piVar18 = 0x1b18" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (goto_statement "goto LAB_000434e0;" goto statement_identifier ;) }))) (labeled_statement "LAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }" statement_identifier : (if_statement "if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }" if (parenthesized_expression "(piVar18[6] != 0)" ( (binary_expression "piVar18[6] != 0" (subscript_expression "piVar18[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }" { (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar6 = PTR_askalg_000b2974;" (assignment_expression "puVar6 = PTR_askalg_000b2974" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);" (assignment_expression "uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20)" identifier = (pointer_expression "*(undefined4 *)(piVar18[0x13] + 0x20)" * (cast_expression "(undefined4 *)(piVar18[0x13] + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x13] + 0x20)" ( (binary_expression "piVar18[0x13] + 0x20" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "puVar5 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar5 = PTR_LAB_000b28f8 + -0xf58" identifier = (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal)) ;) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1)" identifier = (call_expression "(*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1)" ( identifier , (binary_expression "puVar15 + 0x58c8" identifier + number_literal) , identifier , identifier , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" { (labeled_statement "LAB_000454a0:\n          *piVar18 = 0x1b31;" statement_identifier : (expression_statement "*piVar18 = 0x1b31;" (assignment_expression "*piVar18 = 0x1b31" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (goto_statement "goto LAB_00043578;" goto statement_identifier ;) }))) (labeled_statement "LAB_000435a8:\n      param_4 = (int *)piVar18[0x52];" statement_identifier : (expression_statement "param_4 = (int *)piVar18[0x52];" (assignment_expression "param_4 = (int *)piVar18[0x52]" identifier = (cast_expression "(int *)piVar18[0x52]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x52]" identifier [ number_literal ]))) ;)) (labeled_statement "joined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" statement_identifier : (if_statement "if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (expression_statement "*piVar18 = 0x1b43;" (assignment_expression "*piVar18 = 0x1b43" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) }))) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) (if_statement "if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" ( (binary_expression "*(int *)(iVar3 + 8) == 0" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }" if (parenthesized_expression "(piVar18[0x12] != 0)" ( (binary_expression "piVar18[0x12] != 0" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }" { (expression_statement "iVar16 = *(int *)(piVar18[0x12] + 0x28);" (assignment_expression "iVar16 = *(int *)(piVar18[0x12] + 0x28)" identifier = (pointer_expression "*(int *)(piVar18[0x12] + 0x28)" * (cast_expression "(int *)(piVar18[0x12] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x12] + 0x28)" ( (binary_expression "piVar18[0x12] + 0x28" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) + number_literal) ))))) ;) })) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (if_statement "if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }" if (parenthesized_expression "(piVar18[0x13] != 0)" ( (binary_expression "piVar18[0x13] != 0" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }" { (expression_statement "local_80 = *(int *)(piVar18[0x13] + 0x28);" (assignment_expression "local_80 = *(int *)(piVar18[0x13] + 0x28)" identifier = (pointer_expression "*(int *)(piVar18[0x13] + 0x28)" * (cast_expression "(int *)(piVar18[0x13] + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x13] + 0x28)" ( (binary_expression "piVar18[0x13] + 0x28" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) + number_literal) ))))) ;) })) (if_statement "if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }" if (parenthesized_expression "(local_80 <= iVar16)" ( (binary_expression "local_80 <= iVar16" identifier <= identifier) )) (compound_statement "{\n          local_80 = iVar16;\n        }" { (expression_statement "local_80 = iVar16;" (assignment_expression "local_80 = iVar16" identifier = identifier) ;) })) (expression_statement "iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;" (assignment_expression "iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3" identifier = (binary_expression "*(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3" (pointer_expression "*(int *)(*(int *)(iVar3 + 0xc) + 0x14)" * (cast_expression "(int *)(*(int *)(iVar3 + 0xc) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0xc) + 0x14)" ( (binary_expression "*(int *)(iVar3 + 0xc) + 0x14" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) + number_literal) )))) << number_literal)) ;) (if_statement "if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }" if (parenthesized_expression "(iVar3 < local_80)" ( (binary_expression "iVar3 < local_80" identifier < identifier) )) (compound_statement "{\n          local_80 = iVar3;\n        }" { (expression_statement "local_80 = iVar3;" (assignment_expression "local_80 = iVar3" identifier = identifier) ;) })) (expression_statement "piVar18[1] = local_80;" (assignment_expression "piVar18[1] = local_80" (subscript_expression "piVar18[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = dh_is_gex();" (assignment_expression "iVar3 = dh_is_gex()" identifier = (call_expression "dh_is_gex()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }" { (expression_statement "param_1[0x61] = 1;" (assignment_expression "param_1[0x61] = 1" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = dh_setup_group(param_1[0x26]);" (assignment_expression "iVar3 = dh_setup_group(param_1[0x26])" identifier = (call_expression "dh_setup_group(param_1[0x26])" identifier (argument_list "(param_1[0x26])" ( (subscript_expression "param_1[0x26]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar16 = param_1[0x26];" (assignment_expression "iVar16 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x3a] = iVar3;" (assignment_expression "param_1[0x3a] = iVar3" (subscript_expression "param_1[0x3a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0xe] = 0x1e;" (assignment_expression "piVar18[0xe] = 0x1e" (subscript_expression "piVar18[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)(iVar16 + 4);" (assignment_expression "uVar22 = *(undefined4 *)(iVar16 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar16 + 4)" * (cast_expression "(undefined4 *)(iVar16 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) ))))) ;) (expression_statement "piVar18[0xf] = 0x1f;" (assignment_expression "piVar18[0xf] = 0x1f" (subscript_expression "piVar18[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);" (call_expression "FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22)" identifier (argument_list "(param_1,puVar15 + 0x5b78,uVar22)" ( identifier , (binary_expression "puVar15 + 0x5b78" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_00043d90;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5af0" identifier + number_literal) ))) ;) (expression_statement "iVar16 = piVar18[1];" (assignment_expression "iVar16 = piVar18[1]" identifier = (subscript_expression "piVar18[1]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x61] = 2;" (assignment_expression "param_1[0x61] = 2" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = iVar16 + -1;" (assignment_expression "iVar3 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (if_statement "if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar3 = iVar16 + 0x3e;\n        }" { (expression_statement "iVar3 = iVar16 + 0x3e;" (assignment_expression "iVar3 = iVar16 + 0x3e" identifier = (binary_expression "iVar16 + 0x3e" identifier + number_literal)) ;) })) (expression_statement "iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);" (assignment_expression "iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU)" identifier = (binary_expression "0x200 << (iVar3 >> 6 & 0x1fU)" number_literal << (parenthesized_expression "(iVar3 >> 6 & 0x1fU)" ( (binary_expression "iVar3 >> 6 & 0x1fU" (binary_expression "iVar3 >> 6" identifier >> number_literal) & number_literal) )))) ;) (if_statement "if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }" if (parenthesized_expression "(iVar3 < 0x400)" ( (binary_expression "iVar3 < 0x400" identifier < number_literal) )) (compound_statement "{\n          piVar18[2] = 0x400;\n        }" { (expression_statement "piVar18[2] = 0x400;" (assignment_expression "piVar18[2] = 0x400" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }" else (compound_statement "{\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }" { (if_statement "if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }" if (parenthesized_expression "(0x2000 < iVar3)" ( (binary_expression "0x2000 < iVar3" number_literal < identifier) )) (compound_statement "{\n            iVar3 = 0x2000;\n          }" { (expression_statement "iVar3 = 0x2000;" (assignment_expression "iVar3 = 0x2000" identifier = number_literal) ;) })) (expression_statement "piVar18[2] = iVar3;" (assignment_expression "piVar18[2] = iVar3" (subscript_expression "piVar18[2]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }" if (parenthesized_expression "((param_1[0x14] & 0x1000U) == 0)" ( (binary_expression "(param_1[0x14] & 0x1000U) == 0" (parenthesized_expression "(param_1[0x14] & 0x1000U)" ( (binary_expression "param_1[0x14] & 0x1000U" (subscript_expression "param_1[0x14]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }" { (expression_statement "iVar3 = FUN_0003b04c(0x22);" (assignment_expression "iVar3 = FUN_0003b04c(0x22)" identifier = (call_expression "FUN_0003b04c(0x22)" identifier (argument_list "(0x22)" ( number_literal )))) ;) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_30 = 0x400;" (assignment_expression "local_30 = 0x400" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(iVar3,&local_30,4);" (call_expression "FUN_0003aef4(iVar3,&local_30,4)" identifier (argument_list "(iVar3,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b1cc(piVar18[0x4f],piVar18[2]);" (call_expression "FUN_0003b1cc(piVar18[0x4f],piVar18[2])" identifier (argument_list "(piVar18[0x4f],piVar18[2])" ( (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) , (subscript_expression "piVar18[2]" identifier [ number_literal ]) ))) ;) (expression_statement "local_30 = 0x2000;" (assignment_expression "local_30 = 0x2000" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(piVar18[0x4f],&local_30,4);" (call_expression "FUN_0003aef4(piVar18[0x4f],&local_30,4)" identifier (argument_list "(piVar18[0x4f],&local_30,4)" ( (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) }) (else_clause "else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }" else (compound_statement "{\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }" { (expression_statement "iVar3 = FUN_0003b04c(0x1e);" (assignment_expression "iVar3 = FUN_0003b04c(0x1e)" identifier = (call_expression "FUN_0003b04c(0x1e)" identifier (argument_list "(0x1e)" ( number_literal )))) ;) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b1cc(iVar3,piVar18[2]);" (call_expression "FUN_0003b1cc(iVar3,piVar18[2])" identifier (argument_list "(iVar3,piVar18[2])" ( identifier , (subscript_expression "piVar18[2]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_00044348;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 8) != 2)" ( (binary_expression "*(int *)(iVar3 + 8) != 2" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }" { (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d7c" identifier + number_literal) , (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 0xc) + 0x18)" ( (binary_expression "*(int *)(iVar3 + 0xc) + 0x18" (pointer_expression "*(int *)(iVar3 + 0xc)" * (cast_expression "(int *)(iVar3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "param_1[0x61] = 4;" (assignment_expression "param_1[0x61] = 4" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000451dc;" goto statement_identifier ;) })) (expression_statement "uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();" (assignment_expression "uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)()" identifier = (call_expression "(*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)()" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0" * (cast_expression "(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c60" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" * (cast_expression "(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x18)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x18" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;" (assignment_expression "puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4" identifier = identifier) ;) (expression_statement "param_1[0x61] = 3;" (assignment_expression "param_1[0x61] = 3" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar15)(param_1[0x26]);" (assignment_expression "iVar3 = (*(code *)puVar15)(param_1[0x26])" identifier = (call_expression "(*(code *)puVar15)(param_1[0x26])" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x26])" ( (subscript_expression "param_1[0x26]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x24] = iVar3;" (assignment_expression "piVar18[0x24] = iVar3" (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c94" identifier + number_literal)) ;) }) (else_clause "else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }" else (compound_statement "{\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }" { (expression_statement "iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54)" identifier = (call_expression "(*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54)" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_getpublic_000b298c" * (cast_expression "(code *)PTR_ssh_ecdhkex_getpublic_000b298c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,&local_54)" ( identifier , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }" { (expression_statement "puVar19 = (undefined4 *)FUN_0003b04c(0x1e);" (assignment_expression "puVar19 = (undefined4 *)FUN_0003b04c(0x1e)" identifier = (cast_expression "(undefined4 *)FUN_0003b04c(0x1e)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b04c(0x1e)" identifier (argument_list "(0x1e)" ( number_literal ))))) ;) (expression_statement "piVar18[0x4f] = (int)puVar19;" (assignment_expression "piVar18[0x4f] = (int)puVar19" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" identifier (argument_list "(puVar19,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "iVar16 = piVar18[0x4f];" (assignment_expression "iVar16 = piVar18[0x4f]" identifier = (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])) ;) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "FUN_0003b124(iVar16,iVar3,local_54);" (call_expression "FUN_0003b124(iVar16,iVar3,local_54)" identifier (argument_list "(iVar16,iVar3,local_54)" ( identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_00044a00;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" ( (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" * (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x24])" ( (subscript_expression "piVar18[0x24]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5cb4" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }" if (parenthesized_expression "(0x1aff < iVar3)" ( (binary_expression "0x1aff < iVar3" number_literal < identifier) )) (compound_statement "{\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }" { (if_statement "if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }" if (parenthesized_expression "(iVar3 == 0x1b31)" ( (binary_expression "iVar3 == 0x1b31" identifier == number_literal) )) (compound_statement "{\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }" { (if_statement "if (param_4 != (int *)0x0) goto LAB_00043614;" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043614;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) goto LAB_000454a0;" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (goto_statement "goto LAB_000454a0;" goto statement_identifier ;)) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00043578:\n        piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] != 0) goto LAB_000435a8;" if (parenthesized_expression "(piVar18[0x50] != 0)" ( (binary_expression "piVar18[0x50] != 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_000435a8;" goto statement_identifier ;)) }) (else_clause "else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }" else (compound_statement "{\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }" { (if_statement "if (iVar3 == 0x1b43) goto joined_r0x0004422c;" if (parenthesized_expression "(iVar3 == 0x1b43)" ( (binary_expression "iVar3 == 0x1b43" identifier == number_literal) )) (goto_statement "goto joined_r0x0004422c;" goto statement_identifier ;)) (if_statement "if (iVar3 != 0x1b18) goto LAB_00042f14;" if (parenthesized_expression "(iVar3 != 0x1b18)" ( (binary_expression "iVar3 != 0x1b18" identifier != number_literal) )) (goto_statement "goto LAB_00042f14;" goto statement_identifier ;)) (if_statement "if (param_4 != (int *)0x0) goto LAB_00043614;" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043614;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) goto LAB_0004440c;" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (goto_statement "goto LAB_0004440c;" goto statement_identifier ;)) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (labeled_statement "LAB_000434e0:\n        piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] != 0) goto LAB_00043510;" if (parenthesized_expression "(piVar18[0x50] != 0)" ( (binary_expression "piVar18[0x50] != 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00043510;" goto statement_identifier ;)) }))) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ad0" identifier + number_literal)) ;) (goto_statement "goto LAB_00045800;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }" if (parenthesized_expression "(iVar3 == 0x1a26)" ( (binary_expression "iVar3 == 0x1a26" identifier == number_literal) )) (compound_statement "{\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }" { (labeled_statement "LAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;" statement_identifier : (expression_statement "puVar6 = PTR_DAT_000b2398;" (assignment_expression "puVar6 = PTR_DAT_000b2398" identifier = identifier) ;)) (if_statement "if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(local_8c == (int *)0x0)" ( (binary_expression "local_8c == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (expression_statement "*piVar18 = 0x1a26;" (assignment_expression "*piVar18 = 0x1a26" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (if_statement "if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }" if (parenthesized_expression "(local_8c[2] == 0x14)" ( (binary_expression "local_8c[2] == 0x14" (subscript_expression "local_8c[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }" { (expression_statement "local_6c = 0xfffffffa;" (assignment_expression "local_6c = 0xfffffffa" identifier = number_literal) ;) (expression_statement "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704)" identifier = (cast_expression "(code *)(PTR_LAB_000b2760 + 0x7704)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b2760 + 0x7704)" ( (binary_expression "PTR_LAB_000b2760 + 0x7704" identifier + number_literal) )))) ;) (expression_statement "iVar3 = local_8c[6];" (assignment_expression "iVar3 = local_8c[6]" identifier = (subscript_expression "local_8c[6]" identifier [ number_literal ])) ;) (expression_statement "pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4)" identifier = (cast_expression "(code *)(PTR_LAB_000b2894 + -0x26e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b2894 + -0x26e4)" ( (binary_expression "PTR_LAB_000b2894 + -0x26e4" identifier + number_literal) )))) ;) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5 = PTR_LAB_000b2894;" (assignment_expression "puVar5 = PTR_LAB_000b2894" identifier = identifier) ;) (expression_statement "param_1[0x27] = 0;" (assignment_expression "param_1[0x27] = 0" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "piVar18[0x12] = 0;" (assignment_expression "piVar18[0x12] = 0" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x13] = 0;" (assignment_expression "piVar18[0x13] = 0" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x14] = 0;" (assignment_expression "piVar18[0x14] = 0" (subscript_expression "piVar18[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x15] = 0;" (assignment_expression "piVar18[0x15] = 0" (subscript_expression "piVar18[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x18] = 0;" (assignment_expression "piVar18[0x18] = 0" (subscript_expression "piVar18[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x19] = 0;" (assignment_expression "piVar18[0x19] = 0" (subscript_expression "piVar18[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[4] = 0;" (assignment_expression "piVar18[4] = 0" (subscript_expression "piVar18[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[3] = 0;" (assignment_expression "piVar18[3] = 0" (subscript_expression "piVar18[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[6] = 0;" (assignment_expression "piVar18[6] = 0" (subscript_expression "piVar18[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[5] = 0;" (assignment_expression "piVar18[5] = 0" (subscript_expression "piVar18[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_8c[6] = iVar3 + 0x10;" (assignment_expression "local_8c[6] = iVar3 + 0x10" (subscript_expression "local_8c[6]" identifier [ number_literal ]) = (binary_expression "iVar3 + 0x10" identifier + number_literal)) ;) (expression_statement "piVar18[0x51] = 0;" (assignment_expression "piVar18[0x51] = 0" (subscript_expression "piVar18[0x51]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_68 = piVar18;" (assignment_expression "local_68 = piVar18" identifier = identifier) ;) (while_statement "while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }" while (parenthesized_expression "((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0)" ( (comma_expression "(*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0" (call_expression "(*pcVar28)(local_8c,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_8c,&local_58,&local_54)" ( identifier , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_54" & identifier) ))) , (comma_expression "uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0" (assignment_expression "uVar4 = local_54" identifier = identifier) , (comma_expression "iVar3 = local_58,\n              local_58 != 0" (assignment_expression "iVar3 = local_58" identifier = identifier) , (binary_expression "local_58 != 0" identifier != number_literal)))) )) (compound_statement "{\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }" { (if_statement "if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }" if (parenthesized_expression "(local_74 == 4)" ( (binary_expression "local_74 == 4" identifier == number_literal) )) (compound_statement "{\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }" { (if_statement "if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }" if (parenthesized_expression "((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0))" ( (binary_expression "(piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)" (parenthesized_expression "(piVar18[0x12] == 0)" ( (binary_expression "piVar18[0x12] == 0" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)" ( (comma_expression "iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0" (assignment_expression "iVar16 = *(int *)(piVar18[0x12] + 0x38)" identifier = (pointer_expression "*(int *)(piVar18[0x12] + 0x38)" * (cast_expression "(int *)(piVar18[0x12] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x12] + 0x38)" ( (binary_expression "piVar18[0x12] + 0x38" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) + number_literal) ))))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }" { (labeled_statement "LAB_00043b30:\n              iVar16 = 0;" statement_identifier : (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;)) (expression_statement "piVar14 = local_68;" (assignment_expression "piVar14 = local_68" identifier = identifier) ;) (labeled_statement "LAB_00043b44:\n              iVar12 = piVar14[0x53];" statement_identifier : (expression_statement "iVar12 = piVar14[0x53];" (assignment_expression "iVar12 = piVar14[0x53]" identifier = (subscript_expression "piVar14[0x53]" identifier [ number_literal ])) ;)) (if_statement "if (iVar12 == 0) goto LAB_00043b7c;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00043b7c;" goto statement_identifier ;)) (expression_statement "iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);" (assignment_expression "iVar7 = (*pcVar10)(iVar12,iVar3,uVar4)" identifier = (call_expression "(*pcVar10)(iVar12,iVar3,uVar4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(iVar12,iVar3,uVar4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) goto code_r0x00043b68;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00043b68;" goto statement_identifier ;)) (if_statement "if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 < 2)" ( (binary_expression "local_74 < 2" identifier < number_literal) )) (compound_statement "{\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }" { (if_statement "if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }" if (parenthesized_expression "((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0))" ( (binary_expression "(iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4)" identifier = (call_expression "(*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4)" (parenthesized_expression "(*(code *)(puVar5 + -0x27a4))" ( (pointer_expression "*(code *)(puVar5 + -0x27a4)" * (cast_expression "(code *)(puVar5 + -0x27a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x27a4)" ( (binary_expression "puVar5 + -0x27a4" identifier + number_literal) )))) )) (argument_list "(iVar12,iVar3,uVar4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                  piVar18[0x51] = 0;\n                }" { (expression_statement "piVar18[0x51] = 0;" (assignment_expression "piVar18[0x51] = 0" (subscript_expression "piVar18[0x51]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;" (assignment_expression "puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac" identifier = identifier) ;) (if_statement "if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }" { (expression_statement "iVar3 = piVar18[iVar16 * 3 + 0x55];" (assignment_expression "iVar3 = piVar18[iVar16 * 3 + 0x55]" identifier = (subscript_expression "piVar18[iVar16 * 3 + 0x55]" identifier [ (binary_expression "iVar16 * 3 + 0x55" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "param_1[0x26] = piVar18[iVar16 * 3 + 0x54];" (assignment_expression "param_1[0x26] = piVar18[iVar16 * 3 + 0x54]" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x54]" identifier [ (binary_expression "iVar16 * 3 + 0x54" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[3] = iVar3;" (assignment_expression "piVar18[3] = iVar3" (subscript_expression "piVar18[3]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" statement_identifier : (if_statement "if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" if (parenthesized_expression "(local_74 == 7)" ( (binary_expression "local_74 == 7" identifier == number_literal) )) (compound_statement "{\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" { (if_statement "if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }" if (parenthesized_expression "(piVar18[0x4c] != 0)" ( (binary_expression "piVar18[0x4c] != 0" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }" { (expression_statement "(*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0)" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x59f0" identifier + number_literal) ))) ;) })) (expression_statement "(*pcVar28)(local_8c,&local_58,&local_54);" (call_expression "(*pcVar28)(local_8c,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_8c,&local_58,&local_54)" ( identifier , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "(*pcVar28)(local_8c,&local_58,&local_54);" (call_expression "(*pcVar28)(local_8c,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(local_8c,&local_58,&local_54)" ( identifier , (pointer_expression "&local_58" & identifier) , (pointer_expression "&local_54" & identifier) ))) ;) (expression_statement "iVar3 = local_8c[6];" (assignment_expression "iVar3 = local_8c[6]" identifier = (subscript_expression "local_8c[6]" identifier [ number_literal ])) ;) (if_statement "if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }" if (parenthesized_expression "((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0'))" ( (binary_expression "(*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')" (parenthesized_expression "(*local_8c - iVar3 < 1)" ( (binary_expression "*local_8c - iVar3 < 1" (binary_expression "*local_8c - iVar3" (pointer_expression "*local_8c" * identifier) - identifier) < number_literal) )) || (parenthesized_expression "(cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')" ( (comma_expression "cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0'" (assignment_expression "cVar1 = *(char *)(local_8c[5] + iVar3)" identifier = (pointer_expression "*(char *)(local_8c[5] + iVar3)" * (cast_expression "(char *)(local_8c[5] + iVar3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_8c[5] + iVar3)" ( (binary_expression "local_8c[5] + iVar3" (subscript_expression "local_8c[5]" identifier [ number_literal ]) + identifier) ))))) , (comma_expression "local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0'" (assignment_expression "local_8c[6] = iVar3 + 1" (subscript_expression "local_8c[6]" identifier [ number_literal ]) = (binary_expression "iVar3 + 1" identifier + number_literal)) , (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n                      uVar4 = 0;\n                    }" { (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }" else (compound_statement "{\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }" { (expression_statement "uVar4 = (uint)(piVar18[0x51] == 0);" (assignment_expression "uVar4 = (uint)(piVar18[0x51] == 0)" identifier = (call_expression "(uint)(piVar18[0x51] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar18[0x51] == 0)" ( (binary_expression "piVar18[0x51] == 0" (subscript_expression "piVar18[0x51]" identifier [ number_literal ]) == number_literal) )))) ;) }))) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" identifier = (subscript_expression "param_1[0x26]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0x52] = uVar4;" (assignment_expression "piVar18[0x52] = uVar4" (subscript_expression "piVar18[0x52]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();" (assignment_expression "iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))()" identifier = (call_expression "(*(code *)**(undefined4 **)(iVar3 + 0xc))()" (parenthesized_expression "(*(code *)**(undefined4 **)(iVar3 + 0xc))" ( (pointer_expression "*(code *)**(undefined4 **)(iVar3 + 0xc)" * (cast_expression "(code *)**(undefined4 **)(iVar3 + 0xc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar3 + 0xc)" * (pointer_expression "*(undefined4 **)(iVar3 + 0xc)" * (cast_expression "(undefined4 **)(iVar3 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0xc)" ( (binary_expression "iVar3 + 0xc" identifier + number_literal) ))))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar16 = param_1[1];" (assignment_expression "iVar16 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = iVar3;" (assignment_expression "param_1[3] = iVar3" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);" (assignment_expression "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16)" identifier = (call_expression "(*(code *)PTR_strlen_000b2e48)(iVar16)" (parenthesized_expression "(*(code *)PTR_strlen_000b2e48)" ( (pointer_expression "*(code *)PTR_strlen_000b2e48" * (cast_expression "(code *)PTR_strlen_000b2e48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16)" ( identifier )))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "iVar3 = param_1[2];" (assignment_expression "iVar3 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);" (assignment_expression "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3)" identifier = (call_expression "(*(code *)PTR_strlen_000b2e48)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_000b2e48)" ( (pointer_expression "*(code *)PTR_strlen_000b2e48" * (cast_expression "(code *)PTR_strlen_000b2e48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22)" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , identifier , identifier ))) ;) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd])" identifier (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd])" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) , (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0xc])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0xc])" ( (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);" (assignment_expression "piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8)" identifier = (cast_expression "(int *)(*(int *)(param_1[0x26] + 0xc) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);" (call_expression "FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1)" identifier (argument_list "(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1)" ( identifier , (subscript_expression "param_1[3]" identifier [ number_literal ]) , (binary_expression "local_8c[5] + -1" (subscript_expression "local_8c[5]" identifier [ number_literal ]) + number_literal) , (binary_expression "*local_8c + 1" (pointer_expression "*local_8c" * identifier) + number_literal) ))) ;) (if_statement "if (piVar18[3] == 0) goto LAB_00043bfc;" if (parenthesized_expression "(piVar18[3] == 0)" ( (binary_expression "piVar18[3] == 0" (subscript_expression "piVar18[3]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00043bfc;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar6 = PTR_askalg_000b2974;" (assignment_expression "puVar6 = PTR_askalg_000b2974" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)param_1[0x26];" (assignment_expression "uVar22 = *(undefined4 *)param_1[0x26]" identifier = (pointer_expression "*(undefined4 *)param_1[0x26]" * (cast_expression "(undefined4 *)param_1[0x26]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ])))) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "puVar26 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar26 = PTR_LAB_000b28f8 + -0xf58" identifier = (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal)) ;) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a2c" identifier + number_literal)) ;) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1)" identifier = (call_expression "(*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,puVar5,uVar22,puVar26,param_1)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 < 0) goto LAB_00045494;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_00045494;" goto statement_identifier ;)) (goto_statement "goto LAB_00043bcc;" goto statement_identifier ;) }))) }) (else_clause "else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }" else (compound_statement "{\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "puVar19 = (undefined4 *)(puVar6 + 0x1ed8);" (assignment_expression "puVar19 = (undefined4 *)(puVar6 + 0x1ed8)" identifier = (cast_expression "(undefined4 *)(puVar6 + 0x1ed8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x1ed8)" ( (binary_expression "puVar6 + 0x1ed8" identifier + number_literal) )))) ;) (expression_statement "puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];" (assignment_expression "puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84]" identifier = (cast_expression "(undefined *)piVar18[iVar16 * 3 + 0x84]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[iVar16 * 3 + 0x84]" identifier [ (binary_expression "iVar16 * 3 + 0x84" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ]))) ;) (expression_statement "iVar3 = piVar18[iVar16 * 3 + 0x85];" (assignment_expression "iVar3 = piVar18[iVar16 * 3 + 0x85]" identifier = (subscript_expression "piVar18[iVar16 * 3 + 0x85]" identifier [ (binary_expression "iVar16 * 3 + 0x85" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "param_1[0x27] = (int)puVar11;" (assignment_expression "param_1[0x27] = (int)puVar11" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) = (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar18[4] = iVar3;" (assignment_expression "piVar18[4] = iVar3" (subscript_expression "piVar18[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[0x1b2] = 0;" (assignment_expression "param_1[0x1b2] = 0" (subscript_expression "param_1[0x1b2]" identifier [ number_literal ]) = number_literal) ;) (while_statement "while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }" { (if_statement "if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }" if (parenthesized_expression "(((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0))" ( (binary_expression "((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)" (parenthesized_expression "((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0))" ( (binary_expression "(puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)" (parenthesized_expression "(puVar11 != puVar26)" ( (binary_expression "puVar11 != puVar26" identifier != identifier) )) && (parenthesized_expression "(iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)" ( (comma_expression "iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0" (assignment_expression "iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54)" identifier = (call_expression "(*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(undefined4 *)(puVar26 + 0x30),local_58,local_54)" ( (pointer_expression "*(undefined4 *)(puVar26 + 0x30)" * (cast_expression "(undefined4 *)(puVar26 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x30)" ( (binary_expression "puVar26 + 0x30" identifier + number_literal) )))) , identifier , identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34))" identifier = (call_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34))" (parenthesized_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)" ( (pointer_expression "*(code *)PTR_have_ssh_host_key_000b29e8" * (cast_expression "(code *)PTR_have_ssh_host_key_000b29e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34))" ( (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(puVar26 + 0x34)" * (cast_expression "(undefined4 *)(puVar26 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x34)" ( (binary_expression "puVar26 + 0x34" identifier + number_literal) )))) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }" { (expression_statement "iVar3 = param_1[0x1b2];" (assignment_expression "iVar3 = param_1[0x1b2]" identifier = (subscript_expression "param_1[0x1b2]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x1b2] = iVar3 + 1;" (assignment_expression "param_1[0x1b2] = iVar3 + 1" (subscript_expression "param_1[0x1b2]" identifier [ number_literal ]) = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "param_1[iVar3 + 0x1ac] = iVar12;" (assignment_expression "param_1[iVar3 + 0x1ac] = iVar12" (subscript_expression "param_1[iVar3 + 0x1ac]" identifier [ (binary_expression "iVar3 + 0x1ac" identifier + number_literal) ]) = identifier) ;) })) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 2;" (assignment_expression "puVar19 = puVar19 + 2" identifier = (binary_expression "puVar19 + 2" identifier + number_literal)) ;) (if_statement "if (iVar12 == 6) break;" if (parenthesized_expression "(iVar12 == 6)" ( (binary_expression "iVar12 == 6" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar26 = (undefined *)*puVar19;" (assignment_expression "puVar26 = (undefined *)*puVar19" identifier = (cast_expression "(undefined *)*puVar19" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "puVar11 = (undefined *)param_1[0x27];" (assignment_expression "puVar11 = (undefined *)param_1[0x27]" identifier = (cast_expression "(undefined *)param_1[0x27]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x27]" identifier [ number_literal ]))) ;) })) }))) }) (else_clause "else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (if_statement "if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 == 2)" ( (binary_expression "local_74 == 2" identifier == number_literal) )) (compound_statement "{\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }" { (expression_statement "piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];" (assignment_expression "piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4]" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0xb4]" identifier [ (binary_expression "iVar16 * 3 + 0xb4" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[5] = piVar18[iVar16 * 3 + 0xb5];" (assignment_expression "piVar18[5] = piVar18[iVar16 * 3 + 0xb5]" (subscript_expression "piVar18[5]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0xb5]" identifier [ (binary_expression "iVar16 * 3 + 0xb5" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (if_statement "if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 == 3)" ( (binary_expression "local_74 == 3" identifier == number_literal) )) (compound_statement "{\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }" { (expression_statement "piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];" (assignment_expression "piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4]" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0xe4]" identifier [ (binary_expression "iVar16 * 3 + 0xe4" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[6] = piVar18[iVar16 * 3 + 0xe5];" (assignment_expression "piVar18[6] = piVar18[iVar16 * 3 + 0xe5]" (subscript_expression "piVar18[6]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0xe5]" identifier [ (binary_expression "iVar16 * 3 + 0xe5" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (if_statement "if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 == 4)" ( (binary_expression "local_74 == 4" identifier == number_literal) )) (compound_statement "{\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }" { (expression_statement "piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];" (assignment_expression "piVar18[0x14] = piVar18[iVar16 * 3 + 0x114]" (subscript_expression "piVar18[0x14]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x114]" identifier [ (binary_expression "iVar16 * 3 + 0x114" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];" (assignment_expression "piVar18[0x16] = piVar18[iVar16 * 3 + 0x115]" (subscript_expression "piVar18[0x16]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x115]" identifier [ (binary_expression "iVar16 * 3 + 0x115" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (if_statement "if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" if (parenthesized_expression "(local_74 == 5)" ( (binary_expression "local_74 == 5" identifier == number_literal) )) (compound_statement "{\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }" { (expression_statement "piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];" (assignment_expression "piVar18[0x15] = piVar18[iVar16 * 3 + 0x144]" (subscript_expression "piVar18[0x15]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x144]" identifier [ (binary_expression "iVar16 * 3 + 0x144" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (expression_statement "piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];" (assignment_expression "piVar18[0x17] = piVar18[iVar16 * 3 + 0x145]" (subscript_expression "piVar18[0x17]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x145]" identifier [ (binary_expression "iVar16 * 3 + 0x145" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }) (else_clause "else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" else (compound_statement "{\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" { (if_statement "if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }" if (parenthesized_expression "(local_74 != 6)" ( (binary_expression "local_74 != 6" identifier != number_literal) )) (compound_statement "{\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }" { (expression_statement "piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];" (assignment_expression "piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4]" (subscript_expression "piVar18[0x19]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x1a4]" identifier [ (binary_expression "iVar16 * 3 + 0x1a4" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) (goto_statement "goto LAB_000452b4;" goto statement_identifier ;) })) (expression_statement "piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];" (assignment_expression "piVar18[0x18] = piVar18[iVar16 * 3 + 0x174]" (subscript_expression "piVar18[0x18]" identifier [ number_literal ]) = (subscript_expression "piVar18[iVar16 * 3 + 0x174]" identifier [ (binary_expression "iVar16 * 3 + 0x174" (binary_expression "iVar16 * 3" identifier * number_literal) + number_literal) ])) ;) }))))))))))) }) (else_clause "else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }" else (compound_statement "{\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }" { (expression_statement "iVar3 = *(int *)(iVar16 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar16 + 0x28)" identifier = (pointer_expression "*(int *)(iVar16 + 0x28)" * (cast_expression "(int *)(iVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "piVar18[0x14] = iVar16;" (assignment_expression "piVar18[0x14] = iVar16" (subscript_expression "piVar18[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0x16] = (uint)(iVar3 != 0);" (assignment_expression "piVar18[0x16] = (uint)(iVar3 != 0)" (subscript_expression "piVar18[0x16]" identifier [ number_literal ]) = (call_expression "(uint)(iVar3 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )))) ;) }))) }) (else_clause "else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }" else (compound_statement "{\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }" { (if_statement "if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;" if (parenthesized_expression "(((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0))" ( (binary_expression "((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)" (parenthesized_expression "((local_74 != 5) || (piVar18[0x13] == 0))" ( (binary_expression "(local_74 != 5) || (piVar18[0x13] == 0)" (parenthesized_expression "(local_74 != 5)" ( (binary_expression "local_74 != 5" identifier != number_literal) )) || (parenthesized_expression "(piVar18[0x13] == 0)" ( (binary_expression "piVar18[0x13] == 0" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) == number_literal) ))) )) || (parenthesized_expression "(iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)" ( (comma_expression "iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0" (assignment_expression "iVar16 = *(int *)(piVar18[0x13] + 0x38)" identifier = (pointer_expression "*(int *)(piVar18[0x13] + 0x38)" * (cast_expression "(int *)(piVar18[0x13] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x13] + 0x38)" ( (binary_expression "piVar18[0x13] + 0x38" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) + number_literal) ))))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00043b30;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(iVar16 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar16 + 0x28)" identifier = (pointer_expression "*(int *)(iVar16 + 0x28)" * (cast_expression "(int *)(iVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "piVar18[0x15] = iVar16;" (assignment_expression "piVar18[0x15] = iVar16" (subscript_expression "piVar18[0x15]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar18[0x17] = (uint)(iVar3 != 0);" (assignment_expression "piVar18[0x17] = (uint)(iVar3 != 0)" (subscript_expression "piVar18[0x17]" identifier [ number_literal ]) = (call_expression "(uint)(iVar3 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )))) ;) }))) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (expression_statement "local_68 = local_68 + 0x30;" (assignment_expression "local_68 = local_68 + 0x30" identifier = (binary_expression "local_68 + 0x30" identifier + number_literal)) ;) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) })) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x59a8" identifier + number_literal)) ;) }) (else_clause "else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }" else (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x597c" identifier + number_literal)) ;) }))) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }" if (parenthesized_expression "(iVar3 == 0x1abc)" ( (binary_expression "iVar3 == 0x1abc" identifier == number_literal) )) (compound_statement "{\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }" { (if_statement "if (param_4 != (int *)0x0) goto LAB_00043614;" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00043614;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" identifier = (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" if (parenthesized_expression "(0 < param_3)" ( (binary_expression "0 < param_3" number_literal < identifier) )) (compound_statement "{\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" { (labeled_statement "LAB_00045494:\n        *piVar18 = 0x1abc;" statement_identifier : (expression_statement "*piVar18 = 0x1abc;" (assignment_expression "*piVar18 = 0x1abc" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = (subscript_expression "param_1[0x97]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00043bcc:\n      piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }" if (parenthesized_expression "(piVar18[0x50] == 0)" ( (binary_expression "piVar18[0x50] == 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a80" identifier + number_literal)) ;) (goto_statement "goto LAB_00045800;" goto statement_identifier ;) })) (labeled_statement "LAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;" statement_identifier : (if_statement "if (piVar18[4] == 0) goto LAB_000443a0;" if (parenthesized_expression "(piVar18[4] == 0)" ( (binary_expression "piVar18[4] == 0" (subscript_expression "piVar18[4]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000443a0;" goto statement_identifier ;))) (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar6 = PTR_DAT_000b2398;" (assignment_expression "puVar6 = PTR_DAT_000b2398" identifier = identifier) ;) (if_statement "if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }" if (parenthesized_expression "(param_1[0x1b2] < 1)" ( (binary_expression "param_1[0x1b2] < 1" (subscript_expression "param_1[0x1b2]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }" { (expression_statement "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);" (assignment_expression "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x30)" ( (binary_expression "param_1[0x27] + 0x30" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar23 = (int *)param_1[0x44];" (assignment_expression "piVar23 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_00045b94:\n        piVar14 = piVar23;" statement_identifier : (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;)) (expression_statement "iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1)" identifier = (call_expression "(*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1)" (parenthesized_expression "(*(code *)PTR_askalg_000b2974)" ( (pointer_expression "*(code *)PTR_askalg_000b2974" * (cast_expression "(code *)PTR_askalg_000b2974" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a9c" identifier + number_literal) , identifier , (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal) , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }" else (compound_statement "{\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }" { (expression_statement "piVar29 = param_1 + 0x1ac;" (assignment_expression "piVar29 = param_1 + 0x1ac" identifier = (binary_expression "param_1 + 0x1ac" identifier + number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x470" identifier + number_literal)) ;) (expression_statement "piVar23 = (int *)0x0;" (assignment_expression "piVar23 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);" do (compound_statement "{\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        }" { (expression_statement "iVar16 = *piVar29;" (assignment_expression "iVar16 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (while_statement "while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }" while (parenthesized_expression "(iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0)" ( (comma_expression "iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0" (assignment_expression "iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12)" identifier = (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" ( (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" * (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x19,iVar12)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal , identifier )))) , (comma_expression "piVar14 = piVar23, iVar7 != 0" (assignment_expression "piVar14 = piVar23" identifier = identifier) , (binary_expression "iVar7 != 0" identifier != number_literal))) )) (compound_statement "{\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }" { (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (if_statement "if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }" if (parenthesized_expression "(*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7)" ( (binary_expression "*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7" (pointer_expression "*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4)" * (cast_expression "(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4)" ( (binary_expression "(int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4" (cast_expression "(int)(puVar6 + iVar16 * 8 + 0x1ed8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar6 + iVar16 * 8 + 0x1ed8)" ( (binary_expression "puVar6 + iVar16 * 8 + 0x1ed8" (binary_expression "puVar6 + iVar16 * 8" identifier + (binary_expression "iVar16 * 8" identifier * number_literal)) + number_literal) ))) + number_literal) )))) == identifier) )) (compound_statement "{\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }" { (expression_statement "uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);" (assignment_expression "uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" * (cast_expression "(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" ( (binary_expression "*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30" (pointer_expression "*(int *)(puVar6 + iVar16 * 8 + 0x1ed8)" * (cast_expression "(int *)(puVar6 + iVar16 * 8 + 0x1ed8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + iVar16 * 8 + 0x1ed8)" ( (binary_expression "puVar6 + iVar16 * 8 + 0x1ed8" (binary_expression "puVar6 + iVar16 * 8" identifier + (binary_expression "iVar16 * 8" identifier * number_literal)) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }" if (parenthesized_expression "(piVar23 == (int *)0x0)" ( (binary_expression "piVar23 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }" { (expression_statement "piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);" (assignment_expression "piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22)" identifier = (cast_expression "(int *)(*(code *)PTR_dupstr_000b2410)(uVar22)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dupstr_000b2410)(uVar22)" (parenthesized_expression "(*(code *)PTR_dupstr_000b2410)" ( (pointer_expression "*(code *)PTR_dupstr_000b2410" * (cast_expression "(code *)PTR_dupstr_000b2410" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))))) ;) }) (else_clause "else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }" else (compound_statement "{\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }" { (expression_statement "piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);" (assignment_expression "piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0)" identifier = (cast_expression "(int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0)" (parenthesized_expression "(*(code *)PTR_dupcat_000b2414)" ( (pointer_expression "*(code *)PTR_dupcat_000b2414" * (cast_expression "(code *)PTR_dupcat_000b2414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar23,puVar5,uVar22,0)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar23);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar23)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar23)" ( identifier ))) ;) }))) (break_statement "break;" break ;) })) (if_statement "if (iVar12 == 5) break;" if (parenthesized_expression "(iVar12 == 5)" ( (binary_expression "iVar12 == 5" identifier == number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar29 = piVar29 + 1;" (assignment_expression "piVar29 = piVar29 + 1" identifier = (binary_expression "piVar29 + 1" identifier + number_literal)) ;) (expression_statement "piVar23 = piVar14;" (assignment_expression "piVar23 = piVar14" identifier = identifier) ;) }) while (parenthesized_expression "(iVar3 < param_1[0x1b2])" ( (binary_expression "iVar3 < param_1[0x1b2]" identifier < (subscript_expression "param_1[0x1b2]" identifier [ number_literal ])) )) ;) (expression_statement "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);" (assignment_expression "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30)" identifier = (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x30)" ( (binary_expression "param_1[0x27] + 0x30" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar23 = (int *)param_1[0x44];" (assignment_expression "piVar23 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 == (int *)0x0) goto LAB_00045b94;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00045b94;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1)" identifier = (call_expression "(*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1)" (parenthesized_expression "(*(code *)PTR_askhk_000b297c)" ( (pointer_expression "*(code *)PTR_askhk_000b297c" * (cast_expression "(code *)PTR_askhk_000b297c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1)" ( (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ])) , identifier , identifier , (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal) , identifier )))) ;) (expression_statement "puVar6 = PTR_safefree_000b23d0;" (assignment_expression "puVar6 = PTR_safefree_000b23d0" identifier = identifier) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)puVar6)();" (call_expression "(*(code *)puVar6)()" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = piVar18[0x50];" (assignment_expression "iVar3 = piVar18[0x50]" identifier = (subscript_expression "piVar18[0x50]" identifier [ number_literal ])) ;) }))) (if_statement "if (-1 < iVar3) goto LAB_00044370;" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (goto_statement "goto LAB_00044370;" goto statement_identifier ;)) (goto_statement "goto LAB_00043d00;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }" { (expression_statement "uVar4 = param_1[0x14];" (assignment_expression "uVar4 = param_1[0x14]" identifier = (subscript_expression "param_1[0x14]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0x13] = 0;" (assignment_expression "piVar18[0x13] = 0" (subscript_expression "piVar18[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x12] = 0;" (assignment_expression "piVar18[0x12] = 0" (subscript_expression "piVar18[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x15] = 0;" (assignment_expression "piVar18[0x15] = 0" (subscript_expression "piVar18[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x14] = 0;" (assignment_expression "piVar18[0x14] = 0" (subscript_expression "piVar18[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x19] = 0;" (assignment_expression "piVar18[0x19] = 0" (subscript_expression "piVar18[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x18] = 0;" (assignment_expression "piVar18[0x18] = 0" (subscript_expression "piVar18[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x4e] = 0;" (assignment_expression "piVar18[0x4e] = 0" (subscript_expression "piVar18[0x4e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x4d] = 0;" (assignment_expression "piVar18[0x4d] = 0" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x4b] = 0;" (assignment_expression "piVar18[0x4b] = 0" (subscript_expression "piVar18[0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x4c] = 0;" (assignment_expression "piVar18[0x4c] = 0" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }" if (parenthesized_expression "((uVar4 & 2) == 0)" ( (binary_expression "(uVar4 & 2) == 0" (parenthesized_expression "(uVar4 & 2)" ( (binary_expression "uVar4 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }" { (expression_statement "piVar18[0x11] = 4;" (assignment_expression "piVar18[0x11] = 4" (subscript_expression "piVar18[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);" (assignment_expression "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8)" (subscript_expression "piVar18[0x10]" identifier [ number_literal ]) = (cast_expression "(int)(PTR_DAT_000b2398 + 0x1ec8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ec8)" ( (binary_expression "PTR_DAT_000b2398 + 0x1ec8" identifier + number_literal) )))) ;) }) (else_clause "else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }" else (compound_statement "{\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }" { (expression_statement "piVar18[0x11] = 3;" (assignment_expression "piVar18[0x11] = 3" (subscript_expression "piVar18[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);" (assignment_expression "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc)" (subscript_expression "piVar18[0x10]" identifier [ number_literal ]) = (cast_expression "(int)(PTR_DAT_000b2398 + 0x1ebc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ebc)" ( (binary_expression "PTR_DAT_000b2398 + 0x1ebc" identifier + number_literal) )))) ;) }))) (labeled_statement "LAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;" statement_identifier : (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8" identifier = identifier) ;)) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "param_1[0x61] = 0;" (assignment_expression "param_1[0x61] = 0" (subscript_expression "param_1[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar18[0x35] = 0;" (assignment_expression "piVar18[0x35] = 0" (subscript_expression "piVar18[0x35]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);" do (compound_statement "{\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      }" { (expression_statement "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);" (assignment_expression "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3)" identifier = (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" ( (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" * (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x18,iVar3)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }" if (parenthesized_expression "(uVar4 < 6)" ( (binary_expression "uVar4 < 6" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }" { (expression_statement "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08))" ( (binary_expression "&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar6 + uVar4 * 4 + 0x7c08)" * (cast_expression "(int *)(puVar6 + uVar4 * 4 + 0x7c08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + uVar4 * 4 + 0x7c08)" ( (binary_expression "puVar6 + uVar4 * 4 + 0x7c08" (binary_expression "puVar6 + uVar4 * 4" identifier + (binary_expression "uVar4 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != 6)" ( (binary_expression "iVar3 != 6" identifier != number_literal) )) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar18[0x3c] = 0;" (assignment_expression "piVar18[0x3c] = 0" (subscript_expression "piVar18[0x3c]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);" do (compound_statement "{\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      }" { (expression_statement "iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);" (assignment_expression "iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3)" identifier = (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" ( (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" * (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x19,iVar3)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if ((iVar16 == 0) && (iVar3 == 4)) break;" if (parenthesized_expression "((iVar16 == 0) && (iVar3 == 4))" ( (binary_expression "(iVar16 == 0) && (iVar3 == 4)" (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = piVar18[0x3c];" (assignment_expression "iVar12 = piVar18[0x3c]" identifier = (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar18[0x3c] = iVar12 + 1;" (assignment_expression "piVar18[0x3c] = iVar12 + 1" (subscript_expression "piVar18[0x3c]" identifier [ number_literal ]) = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "piVar18[iVar12 + 0x3d] = iVar16;" (assignment_expression "piVar18[iVar12 + 0x3d] = iVar16" (subscript_expression "piVar18[iVar12 + 0x3d]" identifier [ (binary_expression "iVar12 + 0x3d" identifier + number_literal) ]) = identifier) ;) }) while (parenthesized_expression "(iVar3 != 5)" ( (binary_expression "iVar3 != 5" identifier != number_literal) )) ;) (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8" identifier = identifier) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar18[0x42] = 0;" (assignment_expression "piVar18[0x42] = 0" (subscript_expression "piVar18[0x42]" identifier [ number_literal ]) = number_literal) ;) (do_statement "do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);" do (compound_statement "{\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      }" { (expression_statement "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);" (assignment_expression "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3)" identifier = (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" ( (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" * (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x1f,iVar3)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (if_statement "if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }" if (parenthesized_expression "(uVar4 < 7)" ( (binary_expression "uVar4 < 7" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }" { (expression_statement "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20))" ( (binary_expression "&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar6 + uVar4 * 4 + 0x7c20)" * (cast_expression "(int *)(puVar6 + uVar4 * 4 + 0x7c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + uVar4 * 4 + 0x7c20)" ( (binary_expression "puVar6 + uVar4 * 4 + 0x7c20" (binary_expression "puVar6 + uVar4 * 4" identifier + (binary_expression "uVar4 * 4" identifier * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != 7)" ( (binary_expression "iVar3 != 7" identifier != number_literal) )) ;) (expression_statement "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);" (assignment_expression "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17)" identifier = (call_expression "(*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17)" (parenthesized_expression "(*(code *)PTR_conf_get_int_000b2434)" ( (pointer_expression "*(code *)PTR_conf_get_int_000b2434" * (cast_expression "(code *)PTR_conf_get_int_000b2434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x92],0x17)" ( (subscript_expression "param_1[0x92]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "puVar6 = PTR_ssh_zlib_000b2978;" (assignment_expression "puVar6 = PTR_ssh_zlib_000b2978" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }" { (expression_statement "puVar6 = PTR_DAT_000b2398 + 0x1240;" (assignment_expression "puVar6 = PTR_DAT_000b2398 + 0x1240" identifier = (binary_expression "PTR_DAT_000b2398 + 0x1240" identifier + number_literal)) ;) })) (expression_statement "piVar18[0x4a] = (int)puVar6;" (assignment_expression "piVar18[0x4a] = (int)puVar6" (subscript_expression "piVar18[0x4a]" identifier [ number_literal ]) = (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar23 = piVar18 + 0x83;" (assignment_expression "piVar23 = piVar18 + 0x83" identifier = (binary_expression "piVar18 + 0x83" identifier + number_literal)) ;) (expression_statement "param_1[0x59] = 1;" (assignment_expression "param_1[0x59] = 1" (subscript_expression "param_1[0x59]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1a5] = 1;" (assignment_expression "param_1[0x1a5] = 1" (subscript_expression "param_1[0x1a5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;) (do_statement "do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);" do (compound_statement "{\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      }" { (expression_statement "piVar29 = piVar14 + -0x30;" (assignment_expression "piVar29 = piVar14 + -0x30" identifier = (binary_expression "piVar14 + -0x30" identifier + number_literal)) ;) (do_statement "do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);" do (compound_statement "{\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        }" { (expression_statement "*piVar29 = 0;" (assignment_expression "*piVar29 = 0" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (expression_statement "piVar29 = piVar29 + 3;" (assignment_expression "piVar29 = piVar29 + 3" identifier = (binary_expression "piVar29 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar14 != piVar29)" ( (binary_expression "piVar14 != piVar29" identifier != identifier) )) ;) (expression_statement "piVar14 = piVar14 + 0x30;" (assignment_expression "piVar14 = piVar14 + 0x30" identifier = (binary_expression "piVar14 + 0x30" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar18 + 0x203 != piVar14)" ( (binary_expression "piVar18 + 0x203 != piVar14" (binary_expression "piVar18 + 0x203" identifier + number_literal) != identifier) )) ;) (expression_statement "iVar3 = piVar18[0x35];" (assignment_expression "iVar3 = piVar18[0x35]" identifier = (subscript_expression "piVar18[0x35]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }" { (expression_statement "piVar14 = piVar18 + 0x36;" (assignment_expression "piVar14 = piVar18 + 0x36" identifier = (binary_expression "piVar18 + 0x36" identifier + number_literal)) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (expression_statement "pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424)" identifier = (cast_expression "(code *)(PTR_LAB_000b2894 + -0x5424)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b2894 + -0x5424)" ( (binary_expression "PTR_LAB_000b2894 + -0x5424" identifier + number_literal) )))) ;) (do_statement "do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);" do (compound_statement "{\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        }" { (expression_statement "piVar29 = (int *)*piVar14;" (assignment_expression "piVar29 = (int *)*piVar14" identifier = (cast_expression "(int *)*piVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;) (if_statement "if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }" if (parenthesized_expression "(piVar29 == (int *)0x0)" ( (binary_expression "piVar29 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar22 = 1;\n          }" { (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }" else (compound_statement "{\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (if_statement "if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }" if (parenthesized_expression "(0 < *piVar29)" ( (binary_expression "0 < *piVar29" number_literal < (pointer_expression "*piVar29" * identifier)) )) (compound_statement "{\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }" { (expression_statement "iVar3 = piVar29[1];" (assignment_expression "iVar3 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) (do_statement "do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);" do (compound_statement "{\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              }" { (expression_statement "iVar24 = iVar12 * 4;" (assignment_expression "iVar24 = iVar12 * 4" identifier = (binary_expression "iVar12 * 4" identifier * number_literal)) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));" (assignment_expression "iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24))" identifier = (call_expression "(*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24))" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24))" ( (binary_expression "piVar18 + 0x53" identifier + number_literal) , (pointer_expression "**(undefined4 **)(iVar3 + iVar24)" * (pointer_expression "*(undefined4 **)(iVar3 + iVar24)" * (cast_expression "(undefined4 **)(iVar3 + iVar24)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + iVar24)" ( (binary_expression "iVar3 + iVar24" identifier + identifier) ))))) )))) ;) (expression_statement "iVar3 = piVar29[1];" (assignment_expression "iVar3 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = *piVar29;" (assignment_expression "iVar13 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "uVar17 = *(undefined4 *)(iVar3 + iVar24);" (assignment_expression "uVar17 = *(undefined4 *)(iVar3 + iVar24)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + iVar24)" * (cast_expression "(undefined4 *)(iVar3 + iVar24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + iVar24)" ( (binary_expression "iVar3 + iVar24" identifier + identifier) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 8) = uVar22;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = uVar22" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar7 + 4) = uVar17;" (assignment_expression "*(undefined4 *)(iVar7 + 4) = uVar17" (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar12 < iVar13)" ( (binary_expression "iVar12 < iVar13" identifier < identifier) )) ;) (expression_statement "iVar3 = piVar18[0x35];" (assignment_expression "iVar3 = piVar18[0x35]" identifier = (subscript_expression "piVar18[0x35]" identifier [ number_literal ])) ;) })) }))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar16 < iVar3)" ( (binary_expression "iVar16 < iVar3" identifier < identifier) )) ;) })) (if_statement "if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }" if (parenthesized_expression "(piVar18[0x4d] == 0)" ( (binary_expression "piVar18[0x4d] == 0" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }" { (if_statement "if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }" if (parenthesized_expression "(0 < piVar18[0x3c])" ( (binary_expression "0 < piVar18[0x3c]" number_literal < (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) )) (compound_statement "{\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }" { (expression_statement "piVar30 = piVar18 + 0x3d;" (assignment_expression "piVar30 = piVar18 + 0x3d" identifier = (binary_expression "piVar18 + 0x3d" identifier + number_literal)) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);" (assignment_expression "piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8)" identifier = (cast_expression "(int *)(PTR_DAT_000b2398 + 0x1ed8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ed8)" ( (binary_expression "PTR_DAT_000b2398 + 0x1ed8" identifier + number_literal) )))) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);" (assignment_expression "piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08)" identifier = (cast_expression "(int *)(PTR_DAT_000b2398 + 0x1f08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000b2398 + 0x1f08)" ( (binary_expression "PTR_DAT_000b2398 + 0x1f08" identifier + number_literal) )))) ;) (expression_statement "piVar14 = piVar30;" (assignment_expression "piVar14 = piVar30" identifier = identifier) ;) (do_statement "do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);" do (compound_statement "{\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          }" { (expression_statement "iVar3 = *piVar14;" (assignment_expression "iVar3 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "iVar16 = 4;" (assignment_expression "iVar16 = 4" identifier = number_literal) ;) (expression_statement "piVar27 = piVar29;" (assignment_expression "piVar27 = piVar29" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n              local_90 = 1;\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n              local_90 = 1;\n            }" { (expression_statement "local_90 = 1;" (assignment_expression "local_90 = 1" identifier = number_literal) ;) })) (while_statement "while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }" { (if_statement "if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }" if (parenthesized_expression "(iVar16 == iVar3)" ( (binary_expression "iVar16 == iVar3" identifier == identifier) )) (compound_statement "{\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }" { (expression_statement "iVar16 = *piVar27;" (assignment_expression "iVar16 = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));" (assignment_expression "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34))" identifier = (call_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34))" (parenthesized_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)" ( (pointer_expression "*(code *)PTR_have_ssh_host_key_000b29e8" * (cast_expression "(code *)PTR_have_ssh_host_key_000b29e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34))" ( (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar16 + 0x34)" * (cast_expression "(undefined4 *)(iVar16 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x34)" ( (binary_expression "iVar16 + 0x34" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }" { (expression_statement "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));" (assignment_expression "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30))" identifier = (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30))" identifier (argument_list "(piVar23,*(undefined4 *)(iVar16 + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(iVar16 + 0x30)" * (cast_expression "(undefined4 *)(iVar16 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x30)" ( (binary_expression "iVar16 + 0x30" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar3 + 4) = iVar16;" (assignment_expression "*(int *)(iVar3 + 4) = iVar16" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar3 + 8) = local_90;" (assignment_expression "*(int *)(iVar3 + 8) = local_90" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) = identifier) ;) })) })) (if_statement "if (piVar25 == piVar27 + 2) break;" if (parenthesized_expression "(piVar25 == piVar27 + 2)" ( (binary_expression "piVar25 == piVar27 + 2" identifier == (binary_expression "piVar27 + 2" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar16 = piVar27[3];" (assignment_expression "iVar16 = piVar27[3]" identifier = (subscript_expression "piVar27[3]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *piVar14;" (assignment_expression "iVar3 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "piVar27 = piVar27 + 2;" (assignment_expression "piVar27 = piVar27 + 2" identifier = (binary_expression "piVar27 + 2" identifier + number_literal)) ;) })) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" identifier = (binary_expression "local_74 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)local_74 < piVar18[0x3c])" ( (binary_expression "(int)local_74 < piVar18[0x3c]" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) < (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) )) ;) (if_statement "if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }" if (parenthesized_expression "(0 < piVar18[0x3c])" ( (binary_expression "0 < piVar18[0x3c]" number_literal < (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) )) (compound_statement "{\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);" do (compound_statement "{\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            }" { (expression_statement "iVar16 = *piVar30;" (assignment_expression "iVar16 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (expression_statement "iVar12 = 4;" (assignment_expression "iVar12 = 4" identifier = number_literal) ;) (expression_statement "piVar14 = piVar29;" (assignment_expression "piVar14 = piVar29" identifier = identifier) ;) (if_statement "if (iVar16 == 0) {\n                uVar22 = 1;\n              }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar22 = 1;\n              }" { (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) })) (while_statement "while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }" { (if_statement "if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }" if (parenthesized_expression "(iVar16 == iVar12)" ( (binary_expression "iVar16 == iVar12" identifier == identifier) )) (compound_statement "{\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }" { (expression_statement "iVar12 = *piVar14;" (assignment_expression "iVar12 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));" (assignment_expression "iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30))" identifier = (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30))" identifier (argument_list "(piVar23,*(undefined4 *)(iVar12 + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(iVar12 + 0x30)" * (cast_expression "(undefined4 *)(iVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x30)" ( (binary_expression "iVar12 + 0x30" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar16 + 4) = iVar12;" (assignment_expression "*(int *)(iVar16 + 4) = iVar12" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar16 + 8) = uVar22;" (assignment_expression "*(undefined4 *)(iVar16 + 8) = uVar22" (pointer_expression "*(undefined4 *)(iVar16 + 8)" * (cast_expression "(undefined4 *)(iVar16 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (piVar25 == piVar14 + 2) break;" if (parenthesized_expression "(piVar25 == piVar14 + 2)" ( (binary_expression "piVar25 == piVar14 + 2" identifier == (binary_expression "piVar14 + 2" identifier + number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar12 = piVar14[3];" (assignment_expression "iVar12 = piVar14[3]" identifier = (subscript_expression "piVar14[3]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = *piVar30;" (assignment_expression "iVar16 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (expression_statement "piVar14 = piVar14 + 2;" (assignment_expression "piVar14 = piVar14 + 2" identifier = (binary_expression "piVar14 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar30 = piVar30 + 1;" (assignment_expression "piVar30 = piVar30 + 1" identifier = (binary_expression "piVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 < piVar18[0x3c])" ( (binary_expression "iVar3 < piVar18[0x3c]" identifier < (subscript_expression "piVar18[0x3c]" identifier [ number_literal ])) )) ;) })) })) }) (else_clause "else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }" else (compound_statement "{\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }" { (if_statement "if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }" if (parenthesized_expression "(param_1[0x26] == 0)" ( (binary_expression "param_1[0x26] == 0" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5970" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));" (assignment_expression "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30))" identifier = (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30))" identifier (argument_list "(piVar23,*(undefined4 *)(param_1[0x27] + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x30)" ( (binary_expression "param_1[0x27] + 0x30" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "iVar16 = param_1[0x27];" (assignment_expression "iVar16 = param_1[0x27]" identifier = (subscript_expression "param_1[0x27]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar3 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 8)" * (cast_expression "(undefined4 *)(iVar3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar3 + 4) = iVar16;" (assignment_expression "*(int *)(iVar3 + 4) = iVar16" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar14 = piVar18 + 0x113;" (assignment_expression "piVar14 = piVar18 + 0x113" identifier = (binary_expression "piVar18 + 0x113" identifier + number_literal)) ;) (expression_statement "iVar3 = piVar18[0x42];" (assignment_expression "iVar3 = piVar18[0x42]" identifier = (subscript_expression "piVar18[0x42]" identifier [ number_literal ])) ;) (expression_statement "piVar23 = piVar18 + 0xb3;" (assignment_expression "piVar23 = piVar18 + 0xb3" identifier = (binary_expression "piVar18 + 0xb3" identifier + number_literal)) ;) (do_statement "do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);" do (compound_statement "{\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      }" { (expression_statement "piVar29 = piVar18 + 0x43;" (assignment_expression "piVar29 = piVar18 + 0x43" identifier = (binary_expression "piVar18 + 0x43" identifier + number_literal)) ;) (if_statement "if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }" { (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (do_statement "do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);" do (compound_statement "{\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          }" { (expression_statement "piVar30 = (int *)*piVar29;" (assignment_expression "piVar30 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ;) (if_statement "if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }" if (parenthesized_expression "(piVar30 == (int *)0x0)" ( (binary_expression "piVar30 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar22 = 1;\n            }" { (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) }) (else_clause "else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }" else (compound_statement "{\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }" if (parenthesized_expression "(0 < *piVar30)" ( (binary_expression "0 < *piVar30" number_literal < (pointer_expression "*piVar30" * identifier)) )) (compound_statement "{\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }" { (expression_statement "iVar3 = piVar30[1];" (assignment_expression "iVar3 = piVar30[1]" identifier = (subscript_expression "piVar30[1]" identifier [ number_literal ])) ;) (do_statement "do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);" do (compound_statement "{\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                }" { (expression_statement "iVar13 = iVar16 * 4;" (assignment_expression "iVar13 = iVar16 * 4" identifier = (binary_expression "iVar16 * 4" identifier * number_literal)) ;) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));" (assignment_expression "iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20))" identifier = (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20))" identifier (argument_list "(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20))" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + iVar13) + 0x20)" ( (binary_expression "*(int *)(iVar3 + iVar13) + 0x20" (pointer_expression "*(int *)(iVar3 + iVar13)" * (cast_expression "(int *)(iVar3 + iVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + iVar13)" ( (binary_expression "iVar3 + iVar13" identifier + identifier) )))) + number_literal) )))) )))) ;) (expression_statement "iVar3 = piVar30[1];" (assignment_expression "iVar3 = piVar30[1]" identifier = (subscript_expression "piVar30[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *piVar30;" (assignment_expression "iVar7 = *piVar30" identifier = (pointer_expression "*piVar30" * identifier)) ;) (expression_statement "uVar17 = *(undefined4 *)(iVar3 + iVar13);" (assignment_expression "uVar17 = *(undefined4 *)(iVar3 + iVar13)" identifier = (pointer_expression "*(undefined4 *)(iVar3 + iVar13)" * (cast_expression "(undefined4 *)(iVar3 + iVar13)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + iVar13)" ( (binary_expression "iVar3 + iVar13" identifier + identifier) ))))) ;) (expression_statement "*(undefined4 *)(iVar12 + 8) = uVar22;" (assignment_expression "*(undefined4 *)(iVar12 + 8) = uVar22" (pointer_expression "*(undefined4 *)(iVar12 + 8)" * (cast_expression "(undefined4 *)(iVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar12 + 4) = uVar17;" (assignment_expression "*(undefined4 *)(iVar12 + 4) = uVar17" (pointer_expression "*(undefined4 *)(iVar12 + 4)" * (cast_expression "(undefined4 *)(iVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar16 < iVar7)" ( (binary_expression "iVar16 < iVar7" identifier < identifier) )) ;) (expression_statement "iVar3 = piVar18[0x42];" (assignment_expression "iVar3 = piVar18[0x42]" identifier = (subscript_expression "piVar18[0x42]" identifier [ number_literal ])) ;) })) }))) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" identifier = (binary_expression "local_90 + 1" identifier + number_literal)) ;) (expression_statement "piVar29 = piVar29 + 1;" (assignment_expression "piVar29 = piVar29 + 1" identifier = (binary_expression "piVar29 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_90 < iVar3)" ( (binary_expression "local_90 < iVar3" identifier < identifier) )) ;) })) (expression_statement "piVar23 = piVar23 + 0x30;" (assignment_expression "piVar23 = piVar23 + 0x30" identifier = (binary_expression "piVar23 + 0x30" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar14 != piVar23)" ( (binary_expression "piVar14 != piVar23" identifier != identifier) )) ;) (expression_statement "iVar3 = piVar18[0x11];" (assignment_expression "iVar3 = piVar18[0x11]" identifier = (subscript_expression "piVar18[0x11]" identifier [ number_literal ])) ;) (do_statement "do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);" do (compound_statement "{\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }" { (expression_statement "iVar12 = piVar18[0x10];" (assignment_expression "iVar12 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (do_statement "do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);" do (compound_statement "{\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          }" { (expression_statement "iVar13 = iVar16 * 4;" (assignment_expression "iVar13 = iVar16 * 4" identifier = (binary_expression "iVar16 * 4" identifier * number_literal)) ;) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));" (assignment_expression "iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24))" identifier = (call_expression "FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24))" identifier (argument_list "(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24))" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24)" * (cast_expression "(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + iVar13) + 0x24)" ( (binary_expression "*(int *)(iVar12 + iVar13) + 0x24" (pointer_expression "*(int *)(iVar12 + iVar13)" * (cast_expression "(int *)(iVar12 + iVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar13)" ( (binary_expression "iVar12 + iVar13" identifier + identifier) )))) + number_literal) )))) )))) ;) (expression_statement "iVar12 = piVar18[0x10];" (assignment_expression "iVar12 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar18[0x11];" (assignment_expression "iVar3 = piVar18[0x11]" identifier = (subscript_expression "piVar18[0x11]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = *(undefined4 *)(iVar12 + iVar13);" (assignment_expression "uVar22 = *(undefined4 *)(iVar12 + iVar13)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + iVar13)" * (cast_expression "(undefined4 *)(iVar12 + iVar13)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar13)" ( (binary_expression "iVar12 + iVar13" identifier + identifier) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar7 + 4) = uVar22;" (assignment_expression "*(undefined4 *)(iVar7 + 4) = uVar22" (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(iVar16 < iVar3)" ( (binary_expression "iVar16 < iVar3" identifier < identifier) )) ;) (if_statement "if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);" do (compound_statement "{\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            }" { (if_statement "if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }" if (parenthesized_expression "(*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0)" ( (binary_expression "*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0" (pointer_expression "*(int *)(*(int *)(iVar12 + iVar16) + 0x28)" * (cast_expression "(int *)(*(int *)(iVar12 + iVar16) + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + iVar16) + 0x28)" ( (binary_expression "*(int *)(iVar12 + iVar16) + 0x28" (pointer_expression "*(int *)(iVar12 + iVar16)" * (cast_expression "(int *)(iVar12 + iVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar16)" ( (binary_expression "iVar12 + iVar16" identifier + identifier) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }" { (expression_statement "iVar13 = FUN_0003abdc(piVar14);" (assignment_expression "iVar13 = FUN_0003abdc(piVar14)" identifier = (call_expression "FUN_0003abdc(piVar14)" identifier (argument_list "(piVar14)" ( identifier )))) ;) (expression_statement "iVar12 = piVar18[0x10];" (assignment_expression "iVar12 = piVar18[0x10]" identifier = (subscript_expression "piVar18[0x10]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar18[0x11];" (assignment_expression "iVar3 = piVar18[0x11]" identifier = (subscript_expression "piVar18[0x11]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = *(undefined4 *)(iVar12 + iVar16);" (assignment_expression "uVar22 = *(undefined4 *)(iVar12 + iVar16)" identifier = (pointer_expression "*(undefined4 *)(iVar12 + iVar16)" * (cast_expression "(undefined4 *)(iVar12 + iVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + iVar16)" ( (binary_expression "iVar12 + iVar16" identifier + identifier) ))))) ;) (expression_statement "*(undefined4 *)(iVar13 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar13 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar13 + 8)" * (cast_expression "(undefined4 *)(iVar13 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar13 + 4) = uVar22;" (assignment_expression "*(undefined4 *)(iVar13 + 4) = uVar22" (pointer_expression "*(undefined4 *)(iVar13 + 4)" * (cast_expression "(undefined4 *)(iVar13 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 4)" ( (binary_expression "iVar13 + 4" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar16 = iVar7 * 4;" (assignment_expression "iVar16 = iVar7 * 4" identifier = (binary_expression "iVar7 * 4" identifier * number_literal)) ;) }) while (parenthesized_expression "(iVar7 < iVar3)" ( (binary_expression "iVar7 < iVar3" identifier < identifier) )) ;) })) })) (expression_statement "puVar6 = PTR_ssh_zlib_000b2978;" (assignment_expression "puVar6 = PTR_ssh_zlib_000b2978" identifier = identifier) ;) (expression_statement "piVar14 = piVar14 + 0x30;" (assignment_expression "piVar14 = piVar14 + 0x30" identifier = (binary_expression "piVar14 + 0x30" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar18 + 0x173 != piVar14)" ( (binary_expression "piVar18 + 0x173 != piVar14" (binary_expression "piVar18 + 0x173" identifier + number_literal) != identifier) )) ;) (expression_statement "puVar26 = PTR_DAT_000b2398 + 0x1240;" (assignment_expression "puVar26 = PTR_DAT_000b2398 + 0x1240" identifier = (binary_expression "PTR_DAT_000b2398 + 0x1240" identifier + number_literal)) ;) (expression_statement "uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;" (assignment_expression "uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978" identifier = (pointer_expression "*(undefined4 *)PTR_ssh_zlib_000b2978" * (cast_expression "(undefined4 *)PTR_ssh_zlib_000b2978" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4ea4" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar18 + 0x173;" (assignment_expression "piVar14 = piVar18 + 0x173" identifier = (binary_expression "piVar18 + 0x173" identifier + number_literal)) ;) (do_statement "do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);" do (compound_statement "{\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      }" { (expression_statement "iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a])" identifier = (call_expression "FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a])" identifier (argument_list "(piVar14,*(undefined4 *)piVar18[0x4a])" ( identifier , (pointer_expression "*(undefined4 *)piVar18[0x4a]" * (cast_expression "(undefined4 *)piVar18[0x4a]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4a]" identifier [ number_literal ]))) )))) ;) (expression_statement "iVar16 = piVar18[0x4a];" (assignment_expression "iVar16 = piVar18[0x4a]" identifier = (subscript_expression "piVar18[0x4a]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = piVar18[0x4b];" (assignment_expression "iVar12 = piVar18[0x4b]" identifier = (subscript_expression "piVar18[0x4b]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(iVar3 + 4) = iVar16;" (assignment_expression "*(int *)(iVar3 + 4) = iVar16" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }" if (parenthesized_expression "((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0))" ( (binary_expression "(iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar16 + 4) != 0)" ( (binary_expression "*(int *)(iVar16 + 4) != 0" (pointer_expression "*(int *)(iVar16 + 4)" * (cast_expression "(int *)(iVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 4)" ( (binary_expression "iVar16 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }" { (expression_statement "iVar3 = FUN_0003abdc(piVar14);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14)" identifier = (call_expression "FUN_0003abdc(piVar14)" identifier (argument_list "(piVar14)" ( identifier )))) ;) (expression_statement "*(int *)(iVar3 + 4) = piVar18[0x4a];" (assignment_expression "*(int *)(iVar3 + 4) = piVar18[0x4a]" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = (subscript_expression "piVar18[0x4a]" identifier [ number_literal ])) ;) })) (expression_statement "iVar3 = FUN_0003abdc(piVar14,uVar22);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14,uVar22)" identifier = (call_expression "FUN_0003abdc(piVar14,uVar22)" identifier (argument_list "(piVar14,uVar22)" ( identifier , identifier )))) ;) (expression_statement "iVar16 = piVar18[0x4b];" (assignment_expression "iVar16 = piVar18[0x4b]" identifier = (subscript_expression "piVar18[0x4b]" identifier [ number_literal ])) ;) (expression_statement "*(undefined **)(iVar3 + 4) = puVar6;" (assignment_expression "*(undefined **)(iVar3 + 4) = puVar6" (pointer_expression "*(undefined **)(iVar3 + 4)" * (cast_expression "(undefined **)(iVar3 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }" if (parenthesized_expression "((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0))" ( (binary_expression "(iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(puVar6 + 4) != 0)" ( (binary_expression "*(int *)(puVar6 + 4) != 0" (pointer_expression "*(int *)(puVar6 + 4)" * (cast_expression "(int *)(puVar6 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 4)" ( (binary_expression "puVar6 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }" { (expression_statement "iVar3 = FUN_0003abdc(piVar14);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14)" identifier = (call_expression "FUN_0003abdc(piVar14)" identifier (argument_list "(piVar14)" ( identifier )))) ;) (expression_statement "*(undefined **)(iVar3 + 4) = puVar6;" (assignment_expression "*(undefined **)(iVar3 + 4) = puVar6" (pointer_expression "*(undefined **)(iVar3 + 4)" * (cast_expression "(undefined **)(iVar3 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "piVar23 = piVar14 + 0x30;" (assignment_expression "piVar23 = piVar14 + 0x30" identifier = (binary_expression "piVar14 + 0x30" identifier + number_literal)) ;) (expression_statement "iVar3 = FUN_0003abdc(piVar14,puVar5);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14,puVar5)" identifier = (call_expression "FUN_0003abdc(piVar14,puVar5)" identifier (argument_list "(piVar14,puVar5)" ( identifier , identifier )))) ;) (expression_statement "*(undefined **)(iVar3 + 4) = puVar26;" (assignment_expression "*(undefined **)(iVar3 + 4) = puVar26" (pointer_expression "*(undefined **)(iVar3 + 4)" * (cast_expression "(undefined **)(iVar3 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" identifier = identifier) ;) }) while (parenthesized_expression "(piVar18 + 0x1d3 != piVar23)" ( (binary_expression "piVar18 + 0x1d3 != piVar23" (binary_expression "piVar18 + 0x1d3" identifier + number_literal) != identifier) )) ;) (expression_statement "iVar16 = 0x10;" (assignment_expression "iVar16 = 0x10" identifier = number_literal) ;) (expression_statement "iVar3 = FUN_0003b04c(0x14);" (assignment_expression "iVar3 = FUN_0003b04c(0x14)" identifier = (call_expression "FUN_0003b04c(0x14)" identifier (argument_list "(0x14)" ( number_literal )))) ;) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = identifier) ;) (while_statement "while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }" { (expression_statement "iVar16 = iVar16 + -1;" (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ;) (expression_statement "uVar9 = (*(code *)PTR_random_byte_000b28d4)();" (assignment_expression "uVar9 = (*(code *)PTR_random_byte_000b28d4)()" identifier = (call_expression "(*(code *)PTR_random_byte_000b28d4)()" (parenthesized_expression "(*(code *)PTR_random_byte_000b28d4)" ( (pointer_expression "*(code *)PTR_random_byte_000b28d4" * (cast_expression "(code *)PTR_random_byte_000b28d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "local_54 = CONCAT13(uVar9,local_54._1_3_);" (assignment_expression "local_54 = CONCAT13(uVar9,local_54._1_3_)" identifier = (call_expression "CONCAT13(uVar9,local_54._1_3_)" identifier (argument_list "(uVar9,local_54._1_3_)" ( identifier , (field_expression "local_54._1_3_" identifier . field_identifier) )))) ;) (expression_statement "FUN_0003aef4(iVar3,&local_54,1);" (call_expression "FUN_0003aef4(iVar3,&local_54,1)" identifier (argument_list "(iVar3,&local_54,1)" ( identifier , (pointer_expression "&local_54" & identifier) , number_literal ))) ;) (if_statement "if (iVar16 == 0) break;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar3 = piVar18[0x4f];" (assignment_expression "iVar3 = piVar18[0x4f]" identifier = (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])) ;) })) (expression_statement "piVar14 = piVar18 + 0x30;" (assignment_expression "piVar14 = piVar18 + 0x30" identifier = (binary_expression "piVar18 + 0x30" identifier + number_literal)) ;) (expression_statement "piVar23 = (int *)piVar18[0x4f];" (assignment_expression "piVar23 = (int *)piVar18[0x4f]" identifier = (cast_expression "(int *)piVar18[0x4f]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]))) ;) (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x470" identifier + number_literal)) ;) (do_statement "do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);" do (compound_statement "{\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      }" { (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(piVar23,&local_30,4);" (call_expression "FUN_0003aef4(piVar23,&local_30,4)" identifier (argument_list "(piVar23,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "piVar29 = piVar14 + -0x30;" (assignment_expression "piVar29 = piVar14 + -0x30" identifier = (binary_expression "piVar14 + -0x30" identifier + number_literal)) ;) (expression_statement "piVar23[6] = *piVar23;" (assignment_expression "piVar23[6] = *piVar23" (subscript_expression "piVar23[6]" identifier [ number_literal ]) = (pointer_expression "*piVar23" * identifier)) ;) (do_statement "do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);" do (compound_statement "{\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        }" { (expression_statement "iVar3 = piVar29[0x53];" (assignment_expression "iVar3 = piVar29[0x53]" identifier = (subscript_expression "piVar29[0x53]" identifier [ number_literal ])) ;) (expression_statement "piVar23 = (int *)piVar18[0x4f];" (assignment_expression "piVar23 = (int *)piVar18[0x4f]" identifier = (cast_expression "(int *)piVar18[0x4f]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]))) ;) (if_statement "if (iVar3 == 0) goto LAB_00043918;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00043918;" goto statement_identifier ;)) (if_statement "if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }" if (parenthesized_expression "(0 < *piVar23 - piVar23[6])" ( (binary_expression "0 < *piVar23 - piVar23[6]" number_literal < (binary_expression "*piVar23 - piVar23[6]" (pointer_expression "*piVar23" * identifier) - (subscript_expression "piVar23[6]" identifier [ number_literal ]))) )) (compound_statement "{\n            FUN_0003b124(piVar23,puVar6,1);\n          }" { (expression_statement "FUN_0003b124(piVar23,puVar6,1);" (call_expression "FUN_0003b124(piVar23,puVar6,1)" identifier (argument_list "(piVar23,puVar6,1)" ( identifier , identifier , number_literal ))) ;) })) (expression_statement "piVar29 = piVar29 + 3;" (assignment_expression "piVar29 = piVar29 + 3" identifier = (binary_expression "piVar29 + 3" identifier + number_literal)) ;) (expression_statement "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);" (assignment_expression "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3)" identifier = (call_expression "(*(code *)PTR_strlen_000b2e48)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_000b2e48)" ( (pointer_expression "*(code *)PTR_strlen_000b2e48" * (cast_expression "(code *)PTR_strlen_000b2e48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "FUN_0003b124(piVar23,iVar3,uVar22);" (call_expression "FUN_0003b124(piVar23,iVar3,uVar22)" identifier (argument_list "(piVar23,iVar3,uVar22)" ( identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "(piVar14 != piVar29)" ( (binary_expression "piVar14 != piVar29" identifier != identifier) )) ;) (expression_statement "piVar23 = (int *)piVar18[0x4f];" (assignment_expression "piVar23 = (int *)piVar18[0x4f]" identifier = (cast_expression "(int *)piVar18[0x4f]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_00043918:\n        piVar14 = piVar14 + 0x30;" statement_identifier : (expression_statement "piVar14 = piVar14 + 0x30;" (assignment_expression "piVar14 = piVar14 + 0x30" identifier = (binary_expression "piVar14 + 0x30" identifier + number_literal)) ;)) }) while (parenthesized_expression "(piVar18 + 0x1b0 != piVar14)" ( (binary_expression "piVar18 + 0x1b0 != piVar14" (binary_expression "piVar18 + 0x1b0" identifier + number_literal) != identifier) )) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(piVar23,&local_30,4);" (call_expression "FUN_0003aef4(piVar23,&local_30,4)" identifier (argument_list "(piVar23,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "puVar19 = (undefined4 *)piVar18[0x4f];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x4f]" identifier = (cast_expression "(undefined4 *)piVar18[0x4f]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]))) ;) (expression_statement "piVar23[6] = *piVar23;" (assignment_expression "piVar23[6] = *piVar23" (subscript_expression "piVar23[6]" identifier [ number_literal ]) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" identifier (argument_list "(puVar19,&local_30,4)" ( identifier , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "iVar3 = piVar18[0x4f];" (assignment_expression "iVar3 = piVar18[0x4f]" identifier = (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])) ;) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" identifier [ number_literal ]) = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "local_54 = local_54 & 0xffffff;" (assignment_expression "local_54 = local_54 & 0xffffff" identifier = (binary_expression "local_54 & 0xffffff" identifier & number_literal)) ;) (expression_statement "FUN_0003aef4(iVar3,&local_54,1);" (call_expression "FUN_0003aef4(iVar3,&local_54,1)" identifier (argument_list "(iVar3,&local_54,1)" ( identifier , (pointer_expression "&local_54" & identifier) , number_literal ))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(piVar18[0x4f],&local_30,4);" (call_expression "FUN_0003aef4(piVar18[0x4f],&local_30,4)" identifier (argument_list "(piVar18[0x4f],&local_30,4)" ( (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) , (pointer_expression "&local_30" & identifier) , number_literal ))) ;) (expression_statement "puVar6 = PTR_safemalloc_000b2408;" (assignment_expression "puVar6 = PTR_safemalloc_000b2408" identifier = identifier) ;) (expression_statement "iVar3 = *(int *)piVar18[0x4f];" (assignment_expression "iVar3 = *(int *)piVar18[0x4f]" identifier = (pointer_expression "*(int *)piVar18[0x4f]" * (cast_expression "(int *)piVar18[0x4f]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x4f]" identifier [ number_literal ])))) ;) (expression_statement "piVar18[0xd] = iVar3 + -5;" (assignment_expression "piVar18[0xd] = iVar3 + -5" (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) = (binary_expression "iVar3 + -5" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)puVar6)(iVar3 + -5,1);" (assignment_expression "iVar3 = (*(code *)puVar6)(iVar3 + -5,1)" identifier = (call_expression "(*(code *)puVar6)(iVar3 + -5,1)" (parenthesized_expression "(*(code *)puVar6)" ( (pointer_expression "*(code *)puVar6" * (cast_expression "(code *)puVar6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3 + -5,1)" ( (binary_expression "iVar3 + -5" identifier + number_literal) , number_literal )))) ;) (expression_statement "piVar18[0xc] = iVar3;" (assignment_expression "piVar18[0xc] = iVar3" (subscript_expression "piVar18[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);" (call_expression "(*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd])" (parenthesized_expression "(*(code *)PTR_memcpy_000b2f08)" ( (pointer_expression "*(code *)PTR_memcpy_000b2f08" * (cast_expression "(code *)PTR_memcpy_000b2f08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd])" ( identifier , (binary_expression "*(int *)(piVar18[0x4f] + 0x10) + 5" (pointer_expression "*(int *)(piVar18[0x4f] + 0x10)" * (cast_expression "(int *)(piVar18[0x4f] + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar18[0x4f] + 0x10)" ( (binary_expression "piVar18[0x4f] + 0x10" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) + number_literal) )))) + number_literal) , (subscript_expression "piVar18[0xd]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" identifier (argument_list "(param_1,piVar18[0x4f])" ( identifier , (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_000439fc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00042f14:\n  *piVar18 = 0;" statement_identifier : (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (labeled_statement "LAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar2) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "puVar15 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar15 = PTR___stack_chk_fail_000b2ed8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000b2ed8)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000b2ed8" * (cast_expression "(code *)PTR___stack_chk_fail_000b2ed8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);" (assignment_expression "iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b])" identifier = (call_expression "FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b])" identifier (argument_list "(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b])" ( (binary_expression "param_1 + 4" identifier + number_literal) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , (subscript_expression "param_1[0x5a]" identifier [ number_literal ]) , (subscript_expression "param_1[0x5b]" identifier [ number_literal ]) )))) ;) (expression_statement "param_1[0x5c] = 0;" (assignment_expression "param_1[0x5c] = 0" (subscript_expression "param_1[0x5c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar28 = *(code **)(puVar15 + 0x6c288);" (assignment_expression "pcVar28 = *(code **)(puVar15 + 0x6c288)" identifier = (pointer_expression "*(code **)(puVar15 + 0x6c288)" * (cast_expression "(code **)(puVar15 + 0x6c288)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x6c288)" ( (binary_expression "puVar15 + 0x6c288" identifier + number_literal) ))))) ;) (expression_statement "param_1[0x5b] = 0;" (assignment_expression "param_1[0x5b] = 0" (subscript_expression "param_1[0x5b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar28)(param_1[0x5a]);" (call_expression "(*pcVar28)(param_1[0x5a])" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(param_1[0x5a])" ( (subscript_expression "param_1[0x5a]" identifier [ number_literal ]) ))) ;) (expression_statement "param_1[0x5a] = 0;" (assignment_expression "param_1[0x5a] = 0" (subscript_expression "param_1[0x5a]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }" if (parenthesized_expression "((0x8000 < iVar3) && (param_1[0x69] != 1))" ( (binary_expression "(0x8000 < iVar3) && (param_1[0x69] != 1)" (parenthesized_expression "(0x8000 < iVar3)" ( (binary_expression "0x8000 < iVar3" number_literal < identifier) )) && (parenthesized_expression "(param_1[0x69] != 1)" ( (binary_expression "param_1[0x69] != 1" (subscript_expression "param_1[0x69]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }" { (expression_statement "param_1[0x69] = 1;" (assignment_expression "param_1[0x69] = 1" (subscript_expression "param_1[0x69]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x68] = iVar3;" (assignment_expression "param_1[0x68] = iVar3" (subscript_expression "param_1[0x68]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }" if (parenthesized_expression "(param_1[0x49] != 0)" ( (binary_expression "param_1[0x49] != 0" (subscript_expression "param_1[0x49]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      FUN_000492b0(param_1,1);\n    }" { (expression_statement "FUN_000492b0(param_1,1);" (call_expression "FUN_000492b0(param_1,1)" identifier (argument_list "(param_1,1)" ( identifier , number_literal ))) ;) })) })) (if_statement "if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }" if (parenthesized_expression "(param_1[0x66] == 2)" ( (binary_expression "param_1[0x66] == 2" (subscript_expression "param_1[0x66]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }" { (expression_statement "iVar3 = param_1[0x1a2];" (assignment_expression "iVar3 = param_1[0x1a2]" identifier = (subscript_expression "param_1[0x1a2]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = param_1[0x1a3];" (assignment_expression "iVar16 = param_1[0x1a3]" identifier = (subscript_expression "param_1[0x1a3]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x1a3] = 0;" (assignment_expression "param_1[0x1a3] = 0" (subscript_expression "param_1[0x1a3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x1a2] = iVar3 + iVar16;" (assignment_expression "param_1[0x1a2] = iVar3 + iVar16" (subscript_expression "param_1[0x1a2]" identifier [ number_literal ]) = (binary_expression "iVar3 + iVar16" identifier + identifier)) ;) (if_statement "if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }" if (parenthesized_expression "((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16)))" ( (binary_expression "(((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))" (parenthesized_expression "(((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0))" ( (binary_expression "((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)" (parenthesized_expression "((param_1[0x1a5] == 0) && (param_1[0x3b] == 0))" ( (binary_expression "(param_1[0x1a5] == 0) && (param_1[0x3b] == 0)" (parenthesized_expression "(param_1[0x1a5] == 0)" ( (binary_expression "param_1[0x1a5] == 0" (subscript_expression "param_1[0x1a5]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(param_1[0x3b] == 0)" ( (binary_expression "param_1[0x3b] == 0" (subscript_expression "param_1[0x3b]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(param_1[0x1a4] != 0)" ( (binary_expression "param_1[0x1a4] != 0" (subscript_expression "param_1[0x1a4]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))" ( (binary_expression "(uint)param_1[0x1a4] < (uint)(iVar3 + iVar16)" (cast_expression "(uint)param_1[0x1a4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x1a4]" identifier [ number_literal ])) < (call_expression "(uint)(iVar3 + iVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar3 + iVar16)" ( (binary_expression "iVar3 + iVar16" identifier + identifier) )))) ))) )) (compound_statement "{\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }" { (expression_statement "FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);" (call_expression "FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0)" identifier (argument_list "(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0)" ( identifier , (binary_expression "*(int *)(puVar15 + 0x6c260) + 0x6294" (pointer_expression "*(int *)(puVar15 + 0x6c260)" * (cast_expression "(int *)(puVar15 + 0x6c260)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x6c260)" ( (binary_expression "puVar15 + 0x6c260" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (return_statement "return;" return ;) })) })) (return_statement "return;" return ;) (labeled_statement "LAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }" statement_identifier : (if_statement "if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }" { (if_statement "if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }" if (parenthesized_expression "(iVar16 < 2)" ( (binary_expression "iVar16 < 2" identifier < number_literal) )) (compound_statement "{\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + -0x608" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }" else (compound_statement "{\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }" { (expression_statement "puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;" (assignment_expression "puVar6 = PTR_s_entropy_source_000b23f0 + 0x330" identifier = (binary_expression "PTR_s_entropy_source_000b23f0 + 0x330" identifier + number_literal)) ;) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5850" identifier + number_literal)) ;) }))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f5c" identifier + number_literal) , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) }))) (expression_statement "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" identifier = (call_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" (parenthesized_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)" ( (pointer_expression "*(code *)PTR_ssh2_fingerprint_000b29f8" * (cast_expression "(code *)PTR_ssh2_fingerprint_000b29f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x27],piVar18[0x22])" ( (subscript_expression "param_1[0x27]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar16 = param_1[0x44];" (assignment_expression "iVar16 = param_1[0x44]" identifier = (subscript_expression "param_1[0x44]" identifier [ number_literal ])) ;) (expression_statement "piVar18[0x1e] = iVar3;" (assignment_expression "piVar18[0x1e] = iVar3" (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);" (call_expression "(*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f90" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);" (call_expression "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" ( (pointer_expression "*(code *)PTR_logevent_000b242c" * (cast_expression "(code *)PTR_logevent_000b242c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x44],piVar18[0x1e])" ( (subscript_expression "param_1[0x44]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);" (assignment_expression "iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22])" identifier = (call_expression "verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22])" identifier (argument_list "(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22])" ( identifier , (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x27]" identifier [ number_literal ]) , (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5fac" identifier + number_literal)) ;) (goto_statement "goto LAB_0004361c;" goto statement_identifier ;) })) (if_statement "if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }" { (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,1)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar15 = PTR_verify_ssh_host_key_000b2a00;" (assignment_expression "puVar15 = PTR_verify_ssh_host_key_000b2a00" identifier = identifier) ;) (expression_statement "uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);" (assignment_expression "uVar22 = *(undefined4 *)(param_1[0x27] + 0x34)" identifier = (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x34)" * (cast_expression "(undefined4 *)(param_1[0x27] + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x27] + 0x34)" ( (binary_expression "param_1[0x27] + 0x34" (subscript_expression "param_1[0x27]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "puVar6 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar6 = PTR_LAB_000b28f8 + -0xf58" identifier = (binary_expression "PTR_LAB_000b28f8 + -0xf58" identifier + number_literal)) ;) (expression_statement "iVar3 = piVar18[0x1e];" (assignment_expression "iVar3 = piVar18[0x1e]" identifier = (subscript_expression "piVar18[0x1e]" identifier [ number_literal ])) ;) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" identifier = (cast_expression "(int *)param_1[0x44]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x44]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);" (assignment_expression "iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1)" identifier = (call_expression "(*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1)" (parenthesized_expression "(*(code *)puVar15)" ( (pointer_expression "*(code *)puVar15" * (cast_expression "(code *)puVar15" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1)" ( identifier , (subscript_expression "param_1[0x3e]" identifier [ number_literal ]) , (subscript_expression "param_1[0x3f]" identifier [ number_literal ]) , identifier , (subscript_expression "piVar18[0x1d]" identifier [ number_literal ]) , identifier , identifier , identifier )))) ;) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" { (labeled_statement "LAB_000457e0:\n      *piVar18 = 0x1cf9;" statement_identifier : (expression_statement "*piVar18 = 0x1cf9;" (assignment_expression "*piVar18 = 0x1cf9" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) (labeled_statement "LAB_00043094:\n    piVar14 = (int *)param_1[4];" statement_identifier : (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" identifier = (cast_expression "(int *)param_1[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) ;)) (if_statement "if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }" { (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" ( (pointer_expression "**(code **)(*piVar14 + 0x18)" * (pointer_expression "*(code **)(*piVar14 + 0x18)" * (cast_expression "(code **)(*piVar14 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x18)" ( (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,0)" ( identifier , number_literal ))) ;) })) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }" if (parenthesized_expression "(piVar18[0x50] == 0)" ( (binary_expression "piVar18[0x50] == 0" (subscript_expression "piVar18[0x50]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6028" identifier + number_literal)) ;) (labeled_statement "LAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);" statement_identifier : (expression_statement "FUN_00047994(param_1,puVar15,0,0,1);" (call_expression "FUN_00047994(param_1,puVar15,0,0,1)" identifier (argument_list "(param_1,puVar15,0,0,1)" ( identifier , identifier , number_literal , number_literal , number_literal ))) ;)) (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" * identifier) = number_literal) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) })) })) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar18[0x1e])" ( (subscript_expression "piVar18[0x1e]" identifier [ number_literal ]) ))) ;) (expression_statement "param_1[0x28] = piVar18[0x1d];" (assignment_expression "param_1[0x28] = piVar18[0x1d]" (subscript_expression "param_1[0x28]" identifier [ number_literal ]) = (subscript_expression "piVar18[0x1d]" identifier [ number_literal ])) ;) (labeled_statement "LAB_000430d8:\n  iVar3 = param_1[0x27];" statement_identifier : (expression_statement "iVar3 = param_1[0x27];" (assignment_expression "iVar3 = param_1[0x27]" identifier = (subscript_expression "param_1[0x27]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);" statement_identifier : (expression_statement "(**(code **)(iVar3 + 4))(piVar18[0x22]);" (call_expression "(**(code **)(iVar3 + 4))(piVar18[0x22])" (parenthesized_expression "(**(code **)(iVar3 + 4))" ( (pointer_expression "**(code **)(iVar3 + 4)" * (pointer_expression "*(code **)(iVar3 + 4)" * (cast_expression "(code **)(iVar3 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) ))))) )) (argument_list "(piVar18[0x22])" ( (subscript_expression "piVar18[0x22]" identifier [ number_literal ]) ))) ;)) (if_statement "if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }" if (parenthesized_expression "(piVar18[0x4d] == 0)" ( (binary_expression "piVar18[0x4d] == 0" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }" { (expression_statement "piVar23 = piVar18 + 0x25;" (assignment_expression "piVar23 = piVar18 + 0x25" identifier = (binary_expression "piVar18 + 0x25" identifier + number_literal)) ;) (expression_statement "piVar14 = param_1 + 0x29;" (assignment_expression "piVar14 = param_1 + 0x29" identifier = (binary_expression "param_1 + 0x29" identifier + number_literal)) ;) (do_statement "do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);" do (compound_statement "{\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    }" { (expression_statement "iVar7 = *piVar23;" (assignment_expression "iVar7 = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "iVar12 = piVar23[1];" (assignment_expression "iVar12 = piVar23[1]" identifier = (subscript_expression "piVar23[1]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = piVar23[2];" (assignment_expression "iVar16 = piVar23[2]" identifier = (subscript_expression "piVar23[2]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar23[3];" (assignment_expression "iVar3 = piVar23[3]" identifier = (subscript_expression "piVar23[3]" identifier [ number_literal ])) ;) (expression_statement "piVar23 = piVar23 + 4;" (assignment_expression "piVar23 = piVar23 + 4" identifier = (binary_expression "piVar23 + 4" identifier + number_literal)) ;) (expression_statement "*piVar14 = iVar7;" (assignment_expression "*piVar14 = iVar7" (pointer_expression "*piVar14" * identifier) = identifier) ;) (expression_statement "piVar14[1] = iVar12;" (assignment_expression "piVar14[1] = iVar12" (subscript_expression "piVar14[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar14[2] = iVar16;" (assignment_expression "piVar14[2] = iVar16" (subscript_expression "piVar14[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar14[3] = iVar3;" (assignment_expression "piVar14[3] = iVar3" (subscript_expression "piVar14[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar14 = piVar14 + 4;" (assignment_expression "piVar14 = piVar14 + 4" identifier = (binary_expression "piVar14 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar23 != piVar18 + 0x35)" ( (binary_expression "piVar23 != piVar18 + 0x35" identifier != (binary_expression "piVar18 + 0x35" identifier + number_literal)) )) ;) (expression_statement "uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);" (assignment_expression "uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" identifier = (pointer_expression "*(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" * (cast_expression "(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x14)" ( (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" * (cast_expression "(int *)(param_1[0x26] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x26] + 0xc)" ( (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "param_1[0x39] = uVar4;" (assignment_expression "param_1[0x39] = uVar4" (subscript_expression "param_1[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }" if (parenthesized_expression "(0x40 < uVar4)" ( (binary_expression "0x40 < uVar4" number_literal < identifier) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" ( (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" * (cast_expression "(code *)PTR___assert_fail_000b2d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x60a8" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" identifier + number_literal) , number_literal , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar18[0x4d] = 1;" (assignment_expression "piVar18[0x4d] = 1" (subscript_expression "piVar18[0x4d]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "iVar3 = FUN_0003b04c(0x15);" (assignment_expression "iVar3 = FUN_0003b04c(0x15)" identifier = (call_expression "FUN_0003b04c(0x15)" identifier (argument_list "(0x15)" ( number_literal )))) ;) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00046280(param_1,iVar3);" (call_expression "FUN_00046280(param_1,iVar3)" identifier (argument_list "(param_1,iVar3)" ( identifier , identifier ))) ;) (expression_statement "param_1[0x1a2] = 0;" (assignment_expression "param_1[0x1a2] = 0" (subscript_expression "param_1[0x1a2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }" if (parenthesized_expression "(param_1[0x1a] != 0)" ( (binary_expression "param_1[0x1a] != 0" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (**(code **)(param_1[0x18] + 4))();\n  }" { (expression_statement "(**(code **)(param_1[0x18] + 4))();" (call_expression "(**(code **)(param_1[0x18] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x18] + 4))" ( (pointer_expression "**(code **)(param_1[0x18] + 4)" * (pointer_expression "*(code **)(param_1[0x18] + 4)" * (cast_expression "(code **)(param_1[0x18] + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x18] + 4)" ( (binary_expression "param_1[0x18] + 4" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar19 = (undefined4 *)piVar18[0x12];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x12]" identifier = (cast_expression "(undefined4 *)piVar18[0x12]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x12]" identifier [ number_literal ]))) ;) (expression_statement "param_1[0x18] = (int)puVar19;" (assignment_expression "param_1[0x18] = (int)puVar19" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }" { (expression_statement "iVar3 = (*(code *)*puVar19)();" (assignment_expression "iVar3 = (*(code *)*puVar19)()" identifier = (call_expression "(*(code *)*puVar19)()" (parenthesized_expression "(*(code *)*puVar19)" ( (pointer_expression "*(code *)*puVar19" * (cast_expression "(code *)*puVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0x1a] = iVar3;" (assignment_expression "param_1[0x1a] = iVar3" (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }" if (parenthesized_expression "(param_1[0x20] != 0)" ( (binary_expression "param_1[0x20] != 0" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (**(code **)(param_1[0x1c] + 4))();\n  }" { (expression_statement "(**(code **)(param_1[0x1c] + 4))();" (call_expression "(**(code **)(param_1[0x1c] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x1c] + 4))" ( (pointer_expression "**(code **)(param_1[0x1c] + 4)" * (pointer_expression "*(code **)(param_1[0x1c] + 4)" * (cast_expression "(code **)(param_1[0x1c] + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x1c] + 4)" ( (binary_expression "param_1[0x1c] + 4" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar19 = (undefined4 *)piVar18[0x14];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x14]" identifier = (cast_expression "(undefined4 *)piVar18[0x14]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[0x14]" identifier [ number_literal ]))) ;) (expression_statement "iVar3 = piVar18[0x16];" (assignment_expression "iVar3 = piVar18[0x16]" identifier = (subscript_expression "piVar18[0x16]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x1c] = (int)puVar19;" (assignment_expression "param_1[0x1c] = (int)puVar19" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) = (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_1[0x1e] = iVar3;" (assignment_expression "param_1[0x1e] = iVar3" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }" if (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" ( (binary_expression "puVar19 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }" { (expression_statement "iVar3 = (*(code *)*puVar19)(param_1[0x1a]);" (assignment_expression "iVar3 = (*(code *)*puVar19)(param_1[0x1a])" identifier = (call_expression "(*(code *)*puVar19)(param_1[0x1a])" (parenthesized_expression "(*(code *)*puVar19)" ( (pointer_expression "*(code *)*puVar19" * (cast_expression "(code *)*puVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) )) (argument_list "(param_1[0x1a])" ( (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) )))) ;) (expression_statement "param_1[0x20] = iVar3;" (assignment_expression "param_1[0x20] = iVar3" (subscript_expression "param_1[0x20]" identifier [ number_literal ]) = identifier) ;) })) (if_statement "if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }" if (parenthesized_expression "(param_1[0x24] != 0)" ( (binary_expression "param_1[0x24] != 0" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (**(code **)(param_1[0x22] + 0xc))();\n  }" { (expression_statement "(**(code **)(param_1[0x22] + 0xc))();" (call_expression "(**(code **)(param_1[0x22] + 0xc))()" (parenthesized_expression "(**(code **)(param_1[0x22] + 0xc))" ( (pointer_expression "**(code **)(param_1[0x22] + 0xc)" * (pointer_expression "*(code **)(param_1[0x22] + 0xc)" * (cast_expression "(code **)(param_1[0x22] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x22] + 0xc)" ( (binary_expression "param_1[0x22] + 0xc" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "iVar3 = piVar18[0x18];" (assignment_expression "iVar3 = piVar18[0x18]" identifier = (subscript_expression "piVar18[0x18]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x22] = iVar3;" (assignment_expression "param_1[0x22] = iVar3" (subscript_expression "param_1[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar3 = (**(code **)(iVar3 + 8))();" (assignment_expression "iVar3 = (**(code **)(iVar3 + 8))()" identifier = (call_expression "(**(code **)(iVar3 + 8))()" (parenthesized_expression "(**(code **)(iVar3 + 8))" ( (pointer_expression "**(code **)(iVar3 + 8)" * (pointer_expression "*(code **)(iVar3 + 8)" * (cast_expression "(code **)(iVar3 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "param_1[0x24] = iVar3;" (assignment_expression "param_1[0x24] = iVar3" (subscript_expression "param_1[0x24]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }" if (parenthesized_expression "(param_1[0x18] != 0)" ( (binary_expression "param_1[0x18] != 0" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }" { (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x2c)" * (cast_expression "(undefined4 *)(param_1[0x18] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x2c)" ( (binary_expression "param_1[0x18] + 0x2c" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);" (call_expression "(**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x18] + 0xc))" ( (pointer_expression "**(code **)(param_1[0x18] + 0xc)" * (pointer_expression "*(code **)(param_1[0x18] + 0xc)" * (cast_expression "(code **)(param_1[0x18] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x18] + 0xc)" ( (binary_expression "param_1[0x18] + 0xc" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x1a],uVar22)" ( (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x2c)" * (cast_expression "(undefined4 *)(param_1[0x18] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x2c)" ( (binary_expression "param_1[0x18] + 0x2c" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x24)" * (cast_expression "(undefined4 *)(param_1[0x18] + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x24)" ( (binary_expression "param_1[0x18] + 0x24" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);" (call_expression "(**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x18] + 8))" ( (pointer_expression "**(code **)(param_1[0x18] + 8)" * (pointer_expression "*(code **)(param_1[0x18] + 8)" * (cast_expression "(code **)(param_1[0x18] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x18] + 8)" ( (binary_expression "param_1[0x18] + 8" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x1a],uVar22)" ( (subscript_expression "param_1[0x1a]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x18] + 0x24))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x24)" * (cast_expression "(undefined4 *)(param_1[0x18] + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x24)" ( (binary_expression "param_1[0x18] + 0x24" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) })) (if_statement "if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }" if (parenthesized_expression "(param_1[0x1c] == 0)" ( (binary_expression "param_1[0x1c] == 0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }" { (expression_statement "iVar3 = param_1[0x18];" (assignment_expression "iVar3 = param_1[0x18]" identifier = (subscript_expression "param_1[0x18]" identifier [ number_literal ])) ;) (if_statement "if (iVar3 != 0) goto LAB_0004339c;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004339c;" goto statement_identifier ;)) (expression_statement "iVar3 = param_1[0x22];" (assignment_expression "iVar3 = param_1[0x22]" identifier = (subscript_expression "param_1[0x22]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }" else (compound_statement "{\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }" { (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30))" identifier = (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30))" identifier (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30))" ( identifier , (subscript_expression "piVar18[0xb]" identifier [ number_literal ]) , (binary_expression "piVar18 + 0x25" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1[0x1c] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x1c] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + 0x30)" ( (binary_expression "param_1[0x1c] + 0x30" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);" (call_expression "(**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x1c] + 8))" ( (pointer_expression "**(code **)(param_1[0x1c] + 8)" * (pointer_expression "*(code **)(param_1[0x1c] + 8)" * (cast_expression "(code **)(param_1[0x1c] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1[0x1c] + 8)" ( (binary_expression "param_1[0x1c] + 8" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(param_1[0x20],uVar22)" ( (subscript_expression "param_1[0x20]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" ( (pointer_expression "*(code *)PTR_smemclr_000b2460" * (cast_expression "(code *)PTR_smemclr_000b2460" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30))" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x1c] + 0x30)" * (cast_expression "(undefined4 *)(param_1[0x1c] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + 0x30)" ( (binary_expression "param_1[0x1c] + 0x30" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" ( (pointer_expression "*(code *)PTR_safefree_000b23d0" * (cast_expression "(code *)PTR_safefree_000b23d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "iVar3 = param_1[0x18];" (assignment_expression "iVar3 = param_1[0x18]" identifier = (subscript_expression "param_1[0x18]" identifier [ number_literal ])) ;) (if_statement "if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }" { (labeled_statement "LAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));" statement_identifier : (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34))" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34))" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x60e0" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar3 + 0x34)" * (cast_expression "(undefined4 *)(iVar3 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x34)" ( (binary_expression "iVar3 + 0x34" identifier + number_literal) )))) ))) ;)) })) (if_statement "if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }" if (parenthesized_expression "(param_1[0x1c] != 0)" ( (binary_expression "param_1[0x1c] != 0" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }" { (if_statement "if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }" if (parenthesized_expression "(param_1[0x1e] == 0)" ( (binary_expression "param_1[0x1e] == 0" (subscript_expression "param_1[0x1e]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) }) (else_clause "else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }" else (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }" { (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x585c" identifier + number_literal)) ;) }))) (if_statement "if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }" if (parenthesized_expression "(*(int *)(param_1[0x18] + 0x38) == 0)" ( (binary_expression "*(int *)(param_1[0x18] + 0x38) == 0" (pointer_expression "*(int *)(param_1[0x18] + 0x38)" * (cast_expression "(int *)(param_1[0x18] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x18] + 0x38)" ( (binary_expression "param_1[0x18] + 0x38" (subscript_expression "param_1[0x18]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" identifier + number_literal)) ;) }) (else_clause "else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }" else (compound_statement "{\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }" { (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c" identifier = (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x586c" identifier + number_literal)) ;) }))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6110" identifier + number_literal) , (pointer_expression "*(undefined4 *)(param_1[0x1c] + 0x34)" * (cast_expression "(undefined4 *)(param_1[0x1c] + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x1c] + 0x34)" ( (binary_expression "param_1[0x1c] + 0x34" (subscript_expression "param_1[0x1c]" identifier [ number_literal ]) + number_literal) )))) , identifier , identifier ))) ;) })) (expression_statement "iVar3 = param_1[0x22];" (assignment_expression "iVar3 = param_1[0x22]" identifier = (subscript_expression "param_1[0x22]" identifier [ number_literal ])) ;) }))) (if_statement "if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }" if (parenthesized_expression "(*(int *)(iVar3 + 0x24) != 0)" ( (binary_expression "*(int *)(iVar3 + 0x24) != 0" (pointer_expression "*(int *)(iVar3 + 0x24)" * (cast_expression "(int *)(iVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x24)" ( (binary_expression "iVar3 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }" { (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6144" identifier + number_literal) ))) ;) })) (expression_statement "param_1[0x59] = 0;" (assignment_expression "param_1[0x59] = 0" (subscript_expression "param_1[0x59]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }" if (parenthesized_expression "(0 < param_1[0x57])" ( (binary_expression "0 < param_1[0x57]" number_literal < (subscript_expression "param_1[0x57]" identifier [ number_literal ])) )) (compound_statement "{\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }" { (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (do_statement "do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);" do (compound_statement "{\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    }" { (expression_statement "iVar3 = local_80 * 4;" (assignment_expression "iVar3 = local_80 * 4" identifier = (binary_expression "local_80 * 4" identifier * number_literal)) ;) (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);" (call_expression "FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0)" identifier (argument_list "(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0)" ( identifier , (pointer_expression "*(undefined4 *)(param_1[0x56] + iVar3)" * (cast_expression "(undefined4 *)(param_1[0x56] + iVar3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x56] + iVar3)" ( (binary_expression "param_1[0x56] + iVar3" (subscript_expression "param_1[0x56]" identifier [ number_literal ]) + identifier) )))) , number_literal ))) ;) }) while (parenthesized_expression "(local_80 < param_1[0x57])" ( (binary_expression "local_80 < param_1[0x57]" identifier < (subscript_expression "param_1[0x57]" identifier [ number_literal ])) )) ;) })) (expression_statement "param_1[0x57] = 0;" (assignment_expression "param_1[0x57] = 0" (subscript_expression "param_1[0x57]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00046148();" (call_expression "FUN_00046148()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" identifier = identifier) ;) (labeled_statement "LAB_000434a4:\n  *piVar18 = 0x1d8a;" statement_identifier : (expression_statement "*piVar18 = 0x1d8a;" (assignment_expression "*piVar18 = 0x1d8a" (pointer_expression "*piVar18" * identifier) = number_literal) ;)) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_00042f18;" goto statement_identifier ;) (labeled_statement "code_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }" statement_identifier : (if_statement "if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }" if (parenthesized_expression "((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0))" ( (binary_expression "(local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)" (parenthesized_expression "(local_6c < 2)" ( (binary_expression "local_6c < 2" identifier < number_literal) )) && (parenthesized_expression "(iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)" ( (comma_expression "iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0" (assignment_expression "iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4)" identifier = (call_expression "(*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4)" ( (pointer_expression "*(undefined4 *)(piVar14[0x54] + 4)" * (cast_expression "(undefined4 *)(piVar14[0x54] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14[0x54] + 4)" ( (binary_expression "piVar14[0x54] + 4" (subscript_expression "piVar14[0x54]" identifier [ number_literal ]) + number_literal) )))) , identifier , identifier )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    piVar18[0x4c] = 1;\n  }" { (expression_statement "piVar18[0x4c] = 1;" (assignment_expression "piVar18[0x4c] = 1" (subscript_expression "piVar18[0x4c]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "piVar14 = piVar14 + 3;" (assignment_expression "piVar14 = piVar14 + 3" identifier = (binary_expression "piVar14 + 3" identifier + number_literal)) ;) (if_statement "if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }" if (parenthesized_expression "(iVar16 == 0x10)" ( (binary_expression "iVar16 == 0x10" identifier == number_literal) )) (compound_statement "{\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }" { (labeled_statement "LAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );" statement_identifier : (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       )" identifier = (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       )" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" ( (pointer_expression "*(code *)PTR_dupprintf_000b2404" * (cast_expression "(code *)PTR_dupprintf_000b2404" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       )" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x59c8" identifier + number_literal) , (subscript_expression "local_50[local_74]" identifier [ identifier ]) , identifier , identifier )))) ;)) (goto_statement "goto LAB_00043628;" goto statement_identifier ;) })) (goto_statement "goto LAB_00043b44;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (subscript_expression IDENT [ LIT ]) << LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) && (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + 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 ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) + LIT) )))) * LIT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT - LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , (binary_expression (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , IDENT , IDENT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_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) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , 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 (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) - IDENT) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) ))))) , (comma_expression (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) , (binary_expression IDENT == (char_literal ' escape_sequence ')))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (binary_expression (pointer_expression * IDENT) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (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 (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (binary_expression (binary_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 ]) = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (binary_expression (binary_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 ]) = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (binary_expression (binary_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 ]) = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) }))))))))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , IDENT , IDENT , (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (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) )))) = IDENT) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (subscript_expression IDENT [ LIT ])) )) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (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 (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) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (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) )))) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (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) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_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) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , 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 IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * IDENT) - (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + IDENT) )))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) (return_statement return ;) })) })) (return_statement return ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT ))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (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 (subscript_expression IDENT [ LIT ]) + IDENT) )))) , LIT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , IDENT , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (subscript_expression IDENT [ IDENT ]) , IDENT , IDENT )))) ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })))
(function_definition "void FUN_00042dec(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  undefined1 uVar9;\n  undefined *puVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  code *pcVar10;\n  undefined *puVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  undefined *puVar15;\n  int iVar16;\n  undefined4 uVar17;\n  int *piVar18;\n  undefined4 *puVar19;\n  uint uVar20;\n  uint uVar21;\n  undefined4 uVar22;\n  int *piVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  int *piVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  int local_90;\n  int *local_8c;\n  int local_80;\n  uint local_74;\n  uint local_6c;\n  int *local_68;\n  int local_58;\n  uint local_54;\n  int *local_50 [4];\n  undefined *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined *local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_000b2f04;\n  puVar15 = PTR_s_acket_from_server___s_000b23a8;\n  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);\n  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);\n  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;\n  piVar18 = (int *)param_1[0x73];\n  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);\n  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);\n  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;\n  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;\n  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;\n  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;\n  piVar14 = local_50[2];\n  if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }\n  if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar18;\n  if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }\nLAB_00042f14:\n  *piVar18 = 0;\n  param_1 = piVar14;\nLAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }\n  puVar15 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);\n  param_1[0x5c] = 0;\n  pcVar28 = *(code **)(puVar15 + 0x6c288);\n  param_1[0x5b] = 0;\n  (*pcVar28)(param_1[0x5a]);\n  param_1[0x5a] = 0;\n  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }\n  if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }\n  return;\nLAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }\n  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n  iVar16 = param_1[0x44];\n  piVar18[0x1e] = iVar3;\n  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);\n  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);\n  piVar18[0x50] = iVar3;\n  if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }\n  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n  param_1[0x28] = piVar18[0x1d];\nLAB_000430d8:\n  iVar3 = param_1[0x27];\nLAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);\n  if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }\n  iVar3 = FUN_0003b04c(0x15);\n  piVar18[0x4f] = iVar3;\n  FUN_00046280(param_1,iVar3);\n  param_1[0x1a2] = 0;\n  if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x12];\n  param_1[0x18] = (int)puVar19;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }\n  if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x14];\n  iVar3 = piVar18[0x16];\n  param_1[0x1c] = (int)puVar19;\n  param_1[0x1e] = iVar3;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }\n  if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }\n  iVar3 = piVar18[0x18];\n  param_1[0x22] = iVar3;\n  iVar3 = (**(code **)(iVar3 + 8))();\n  param_1[0x24] = iVar3;\n  if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }\n  if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }\n  if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }\n  param_1[0x59] = 0;\n  if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }\n  param_1[0x57] = 0;\n  FUN_00046148();\n  piVar14 = param_1;\nLAB_000434a4:\n  *piVar18 = 0x1d8a;\n  param_1 = piVar14;\n  goto LAB_00042f18;\ncode_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }\n  iVar16 = iVar16 + 1;\n  piVar14 = piVar14 + 3;\n  if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\n}" (primitive_type "void") (function_declarator "FUN_00042dec(int *param_1,undefined4 param_2,int param_3,int *param_4)" (identifier "FUN_00042dec") (parameter_list "(int *param_1,undefined4 param_2,int param_3,int *param_4)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  undefined *puVar5;\n  undefined1 uVar9;\n  undefined *puVar6;\n  int iVar7;\n  undefined1 *puVar8;\n  code *pcVar10;\n  undefined *puVar11;\n  int iVar12;\n  int iVar13;\n  int *piVar14;\n  undefined *puVar15;\n  int iVar16;\n  undefined4 uVar17;\n  int *piVar18;\n  undefined4 *puVar19;\n  uint uVar20;\n  uint uVar21;\n  undefined4 uVar22;\n  int *piVar23;\n  int iVar24;\n  int *piVar25;\n  undefined *puVar26;\n  int *piVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  int local_90;\n  int *local_8c;\n  int local_80;\n  uint local_74;\n  uint local_6c;\n  int *local_68;\n  int local_58;\n  uint local_54;\n  int *local_50 [4];\n  undefined *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined *local_34;\n  int local_30;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_000b2f04;\n  puVar15 = PTR_s_acket_from_server___s_000b23a8;\n  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);\n  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);\n  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;\n  piVar18 = (int *)param_1[0x73];\n  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);\n  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);\n  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;\n  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;\n  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;\n  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;\n  piVar14 = local_50[2];\n  if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }\n  if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }\n  iVar3 = *piVar18;\n  if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }\nLAB_00042f14:\n  *piVar18 = 0;\n  param_1 = piVar14;\nLAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }\n  puVar15 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);\n  param_1[0x5c] = 0;\n  pcVar28 = *(code **)(puVar15 + 0x6c288);\n  param_1[0x5b] = 0;\n  (*pcVar28)(param_1[0x5a]);\n  param_1[0x5a] = 0;\n  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }\n  if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }\n  return;\nLAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }\n  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n  iVar16 = param_1[0x44];\n  piVar18[0x1e] = iVar3;\n  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);\n  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);\n  piVar18[0x50] = iVar3;\n  if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }\n  if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }\n  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n  param_1[0x28] = piVar18[0x1d];\nLAB_000430d8:\n  iVar3 = param_1[0x27];\nLAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);\n  if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }\n  iVar3 = FUN_0003b04c(0x15);\n  piVar18[0x4f] = iVar3;\n  FUN_00046280(param_1,iVar3);\n  param_1[0x1a2] = 0;\n  if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x12];\n  param_1[0x18] = (int)puVar19;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }\n  if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }\n  puVar19 = (undefined4 *)piVar18[0x14];\n  iVar3 = piVar18[0x16];\n  param_1[0x1c] = (int)puVar19;\n  param_1[0x1e] = iVar3;\n  if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }\n  if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }\n  iVar3 = piVar18[0x18];\n  param_1[0x22] = iVar3;\n  iVar3 = (**(code **)(iVar3 + 8))();\n  param_1[0x24] = iVar3;\n  if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }\n  if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }\n  if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }\n  param_1[0x59] = 0;\n  if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }\n  param_1[0x57] = 0;\n  FUN_00046148();\n  piVar14 = param_1;\nLAB_000434a4:\n  *piVar18 = 0x1d8a;\n  param_1 = piVar14;\n  goto LAB_00042f18;\ncode_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }\n  iVar16 = iVar16 + 1;\n  piVar14 = piVar14 + 3;\n  if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }\n  goto LAB_00043b44;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined1 uVar9;" (type_identifier "undefined1") (identifier "uVar9") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined1 *puVar8;" (type_identifier "undefined1") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "undefined4 uVar17;" (type_identifier "undefined4") (identifier "uVar17") (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "undefined4 *puVar19;" (type_identifier "undefined4") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "undefined4 uVar22;" (type_identifier "undefined4") (identifier "uVar22") (; ";")) (declaration "int *piVar23;" (primitive_type "int") (pointer_declarator "*piVar23" (* "*") (identifier "piVar23")) (; ";")) (declaration "int iVar24;" (primitive_type "int") (identifier "iVar24") (; ";")) (declaration "int *piVar25;" (primitive_type "int") (pointer_declarator "*piVar25" (* "*") (identifier "piVar25")) (; ";")) (declaration "undefined *puVar26;" (type_identifier "undefined") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "int *piVar27;" (primitive_type "int") (pointer_declarator "*piVar27" (* "*") (identifier "piVar27")) (; ";")) (declaration "code *pcVar28;" (type_identifier "code") (pointer_declarator "*pcVar28" (* "*") (identifier "pcVar28")) (; ";")) (declaration "int *piVar29;" (primitive_type "int") (pointer_declarator "*piVar29" (* "*") (identifier "piVar29")) (; ";")) (declaration "int *piVar30;" (primitive_type "int") (pointer_declarator "*piVar30" (* "*") (identifier "piVar30")) (; ";")) (declaration "int local_90;" (primitive_type "int") (identifier "local_90") (; ";")) (declaration "int *local_8c;" (primitive_type "int") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "int local_80;" (primitive_type "int") (identifier "local_80") (; ";")) (declaration "uint local_74;" (type_identifier "uint") (identifier "local_74") (; ";")) (declaration "uint local_6c;" (type_identifier "uint") (identifier "local_6c") (; ";")) (declaration "int *local_68;" (primitive_type "int") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "uint local_54;" (type_identifier "uint") (identifier "local_54") (; ";")) (declaration "int *local_50 [4];" (primitive_type "int") (pointer_declarator "*local_50 [4]" (* "*") (array_declarator "local_50 [4]" (identifier "local_50") ([ "[") (number_literal "4") (] "]"))) (; ";")) (declaration "undefined *local_40;" (type_identifier "undefined") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined *local_3c;" (type_identifier "undefined") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "undefined *local_38;" (type_identifier "undefined") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined *local_34;" (type_identifier "undefined") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_000b2f04;" (assignment_expression "puVar2 = PTR___stack_chk_guard_000b2f04" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_000b2f04")) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8" (identifier "puVar15") (= "=") (identifier "PTR_s_acket_from_server___s_000b23a8")) (; ";")) (expression_statement "local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);" (assignment_expression "local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0)" (subscript_expression "local_50[2]" (identifier "local_50") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x58b0)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58b0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x58b0")) () ")")))) (; ";")) (expression_statement "local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);" (assignment_expression "local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8)" (subscript_expression "local_50[3]" (identifier "local_50") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x58c8)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58c8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x58c8")) () ")")))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000b2f04" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000b2f04" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000b2f04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000b2f04")))) (; ";")) (expression_statement "piVar18 = (int *)param_1[0x73];" (assignment_expression "piVar18 = (int *)param_1[0x73]" (identifier "piVar18") (= "=") (cast_expression "(int *)param_1[0x73]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x73]" (identifier "param_1") ([ "[") (number_literal "0x73") (] "]")))) (; ";")) (expression_statement "local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);" (assignment_expression "local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884)" (subscript_expression "local_50[0]" (identifier "local_50") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x5884)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5884" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5884")) () ")")))) (; ";")) (expression_statement "local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);" (assignment_expression "local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c)" (subscript_expression "local_50[1]" (identifier "local_50") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x589c)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x589c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x589c")) () ")")))) (; ";")) (expression_statement "local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;" (assignment_expression "local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0" (identifier "local_40") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58e0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x58e0"))) (; ";")) (expression_statement "local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;" (assignment_expression "local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8" (identifier "local_3c") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x58f8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x58f8"))) (; ";")) (expression_statement "local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;" (assignment_expression "local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910" (identifier "local_38") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5910" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5910"))) (; ";")) (expression_statement "local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;" (assignment_expression "local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934" (identifier "local_34") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5934" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5934"))) (; ";")) (expression_statement "piVar14 = local_50[2];" (assignment_expression "piVar14 = local_50[2]" (identifier "piVar14") (= "=") (subscript_expression "local_50[2]" (identifier "local_50") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (piVar18 == (int *)0x0) {\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }" (if "if") (parenthesized_expression "(piVar18 == (int *)0x0)" (( "(") (binary_expression "piVar18 == (int *)0x0" (identifier "piVar18") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    piVar14 = (int *)0x1;\n    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);\n    param_1[0x73] = (int)piVar18;\n    *piVar18 = 0;\n  }" ({ "{") (expression_statement "piVar14 = (int *)0x1;" (assignment_expression "piVar14 = (int *)0x1" (identifier "piVar14") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);" (assignment_expression "piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c)" (identifier "piVar18") (= "=") (cast_expression "(int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_safemalloc_000b2408)(1,0x74c)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" (( "(") (pointer_expression "*(code *)PTR_safemalloc_000b2408" (* "*") (cast_expression "(code *)PTR_safemalloc_000b2408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safemalloc_000b2408"))) () ")")) (argument_list "(1,0x74c)" (( "(") (number_literal "1") (, ",") (number_literal "0x74c") () ")"))))) (; ";")) (expression_statement "param_1[0x73] = (int)piVar18;" (assignment_expression "param_1[0x73] = (int)piVar18" (subscript_expression "param_1[0x73]" (identifier "param_1") ([ "[") (number_literal "0x73") (] "]")) (= "=") (cast_expression "(int)piVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar18"))) (; ";")) (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (param_1[0x3b] != 0) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" (if "if") (parenthesized_expression "(param_1[0x3b] != 0)" (( "(") (binary_expression "param_1[0x3b] != 0" (subscript_expression "param_1[0x3b]" (identifier "param_1") ([ "[") (number_literal "0x3b") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" (* "*") (cast_expression "(code *)PTR___assert_fail_000b2d2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000b2d2c"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5958,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5958" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5958")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x35c0")) (, ",") (number_literal "0x18f9") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x7e6c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1[0x66] != 2) {\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" (if "if") (parenthesized_expression "(param_1[0x66] != 2)" (( "(") (binary_expression "param_1[0x66] != 2" (subscript_expression "param_1[0x66]" (identifier "param_1") ([ "[") (number_literal "0x66") (] "]")) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" (* "*") (cast_expression "(code *)PTR___assert_fail_000b2d2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000b2d2c"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x4af0,\n               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,\n               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4af0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4af0")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x35c0")) (, ",") (number_literal "0x18fa") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x7e6c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar3 = *piVar18;" (assignment_expression "iVar3 = *piVar18" (identifier "iVar3") (= "=") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) (; ";")) (if_statement "if (iVar3 == 0x1b73) {\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }\n  else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }" (if "if") (parenthesized_expression "(iVar3 == 0x1b73)" (( "(") (binary_expression "iVar3 == 0x1b73" (identifier "iVar3") (== "==") (number_literal "0x1b73")) () ")")) (compound_statement "{\n    if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\n    if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }\nLAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);\nLAB_00043628:\n    FUN_0003822c(param_1,uVar22);\n    piVar14 = param_1;\n  }" ({ "{") (if_statement "if (param_4 == (int *)0x0) {\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" (if "if") (parenthesized_expression "(param_4 == (int *)0x0)" (( "(") (binary_expression "param_4 == (int *)0x0" (identifier "param_4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00044348:\n      *piVar18 = 0x1b73;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" ({ "{") (labeled_statement "LAB_00044348:\n      *piVar18 = 0x1b73;" (statement_identifier "LAB_00044348") (: ":") (expression_statement "*piVar18 = 0x1b73;" (assignment_expression "*piVar18 = 0x1b73" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1b73")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (if_statement "if (param_4[2] == 0x1f) {\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }\n    else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }" (if "if") (parenthesized_expression "(param_4[2] == 0x1f)" (( "(") (binary_expression "param_4[2] == 0x1f" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x1f")) () ")")) (compound_statement "{\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[7] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[8] = iVar3;\n      if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;\n    }" ({ "{") (expression_statement "iVar3 = FUN_00037b74(param_4);" (assignment_expression "iVar3 = FUN_00037b74(param_4)" (identifier "iVar3") (= "=") (call_expression "FUN_00037b74(param_4)" (identifier "FUN_00037b74") (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "piVar18[7] = iVar3;" (assignment_expression "piVar18[7] = iVar3" (subscript_expression "piVar18[7]" (identifier "piVar18") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar3 = FUN_00037b74(param_4);" (assignment_expression "iVar3 = FUN_00037b74(param_4)" (identifier "iVar3") (= "=") (call_expression "FUN_00037b74(param_4)" (identifier "FUN_00037b74") (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "piVar18[8] = iVar3;" (assignment_expression "piVar18[8] = iVar3" (subscript_expression "piVar18[8]" (identifier "piVar18") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if ((piVar18[7] != 0) && (iVar3 != 0)) {\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" (if "if") (parenthesized_expression "((piVar18[7] != 0) && (iVar3 != 0))" (( "(") (binary_expression "(piVar18[7] != 0) && (iVar3 != 0)" (parenthesized_expression "(piVar18[7] != 0)" (( "(") (binary_expression "piVar18[7] != 0" (subscript_expression "piVar18[7]" (identifier "piVar18") ([ "[") (number_literal "7") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar3 = dh_setup_gex(piVar18[7],iVar3);\n        param_1[0x3a] = iVar3;\n        piVar18[0xe] = 0x20;\n        piVar18[0xf] = 0x21;\nLAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);\n        piVar18[9] = iVar3;\n        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);\n        piVar18[0x4f] = (int)puVar19;\n        uVar22 = FUN_00037c0c(piVar18[9],&local_54);\n        local_30 = 0;\n        FUN_0003aef4(puVar19,&local_30,4);\n        puVar19[6] = *puVar19;\n        FUN_0003b124(puVar19,uVar22,local_54);\n        (*(code *)PTR_safefree_000b23d0)(uVar22);\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = (int *)param_1[0x44];\n        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);\nLAB_00043e9c:\n        *piVar18 = 0x1b96;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" ({ "{") (expression_statement "iVar3 = dh_setup_gex(piVar18[7],iVar3);" (assignment_expression "iVar3 = dh_setup_gex(piVar18[7],iVar3)" (identifier "iVar3") (= "=") (call_expression "dh_setup_gex(piVar18[7],iVar3)" (identifier "dh_setup_gex") (argument_list "(piVar18[7],iVar3)" (( "(") (subscript_expression "piVar18[7]" (identifier "piVar18") ([ "[") (number_literal "7") (] "]")) (, ",") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "param_1[0x3a] = iVar3;" (assignment_expression "param_1[0x3a] = iVar3" (subscript_expression "param_1[0x3a]" (identifier "param_1") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "piVar18[0xe] = 0x20;" (assignment_expression "piVar18[0xe] = 0x20" (subscript_expression "piVar18[0xe]" (identifier "piVar18") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "piVar18[0xf] = 0x21;" (assignment_expression "piVar18[0xf] = 0x21" (subscript_expression "piVar18[0xf]" (identifier "piVar18") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0x21")) (; ";")) (labeled_statement "LAB_00043d90:\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));" (statement_identifier "LAB_00043d90") (: ":") (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,\n                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ba8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5ba8")) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x18)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x18" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) () ")"))) (; ";"))) (expression_statement "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);" (call_expression "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2)" (parenthesized_expression "(*(code *)PTR_set_busy_status_000b296c)" (( "(") (pointer_expression "*(code *)PTR_set_busy_status_000b296c" (* "*") (cast_expression "(code *)PTR_set_busy_status_000b296c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_busy_status_000b296c"))) () ")")) (argument_list "(param_1[0x44],2)" (( "(") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);" (assignment_expression "iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1)" (identifier "iVar3") (= "=") (call_expression "dh_create_e(param_1[0x3a],piVar18[1] << 1)" (identifier "dh_create_e") (argument_list "(param_1[0x3a],piVar18[1] << 1)" (( "(") (subscript_expression "param_1[0x3a]" (identifier "param_1") ([ "[") (number_literal "0x3a") (] "]")) (, ",") (binary_expression "piVar18[1] << 1" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar18[9] = iVar3;" (assignment_expression "piVar18[9] = iVar3" (subscript_expression "piVar18[9]" (identifier "piVar18") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);" (assignment_expression "puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe])" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)FUN_0003b04c(piVar18[0xe])" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003b04c(piVar18[0xe])" (identifier "FUN_0003b04c") (argument_list "(piVar18[0xe])" (( "(") (subscript_expression "piVar18[0xe]" (identifier "piVar18") ([ "[") (number_literal "0xe") (] "]")) () ")"))))) (; ";")) (expression_statement "piVar18[0x4f] = (int)puVar19;" (assignment_expression "piVar18[0x4f] = (int)puVar19" (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19"))) (; ";")) (expression_statement "uVar22 = FUN_00037c0c(piVar18[9],&local_54);" (assignment_expression "uVar22 = FUN_00037c0c(piVar18[9],&local_54)" (identifier "uVar22") (= "=") (call_expression "FUN_00037c0c(piVar18[9],&local_54)" (identifier "FUN_00037c0c") (argument_list "(piVar18[9],&local_54)" (( "(") (subscript_expression "piVar18[9]" (identifier "piVar18") ([ "[") (number_literal "9") (] "]")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" (identifier "FUN_0003aef4") (argument_list "(puVar19,&local_30,4)" (( "(") (identifier "puVar19") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" (identifier "puVar19") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (; ";")) (expression_statement "FUN_0003b124(puVar19,uVar22,local_54);" (call_expression "FUN_0003b124(puVar19,uVar22,local_54)" (identifier "FUN_0003b124") (argument_list "(puVar19,uVar22,local_54)" (( "(") (identifier "puVar19") (, ",") (identifier "uVar22") (, ",") (identifier "local_54") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" (identifier "FUN_00046280") (argument_list "(param_1,piVar18[0x4f])" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) () ")"))) (; ";")) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[0x44]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")))) (; ";")) (expression_statement "(*(code *)PTR_set_busy_status_000b296c)(piVar14,1);" (call_expression "(*(code *)PTR_set_busy_status_000b296c)(piVar14,1)" (parenthesized_expression "(*(code *)PTR_set_busy_status_000b296c)" (( "(") (pointer_expression "*(code *)PTR_set_busy_status_000b296c" (* "*") (cast_expression "(code *)PTR_set_busy_status_000b296c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_busy_status_000b296c"))) () ")")) (argument_list "(piVar14,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") () ")"))) (; ";")) (labeled_statement "LAB_00043e9c:\n        *piVar18 = 0x1b96;" (statement_identifier "LAB_00043e9c") (: ":") (expression_statement "*piVar18 = 0x1b96;" (assignment_expression "*piVar18 = 0x1b96" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1b96")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5b44" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5b44"))) (; ";")) (} "}")) (else_clause "else {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }" (else "else") (compound_statement "{\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;\n    }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5b14" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5b14"))) (; ";")) (} "}")))) (labeled_statement "LAB_0004361c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);" (statement_identifier "LAB_0004361c") (: ":") (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15)" (identifier "uVar22") (= "=") (call_expression "(*(code *)PTR_dupprintf_000b2404)(puVar15)" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" (( "(") (pointer_expression "*(code *)PTR_dupprintf_000b2404" (* "*") (cast_expression "(code *)PTR_dupprintf_000b2404" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupprintf_000b2404"))) () ")")) (argument_list "(puVar15)" (( "(") (identifier "puVar15") () ")")))) (; ";"))) (labeled_statement "LAB_00043628:\n    FUN_0003822c(param_1,uVar22);" (statement_identifier "LAB_00043628") (: ":") (expression_statement "FUN_0003822c(param_1,uVar22);" (call_expression "FUN_0003822c(param_1,uVar22)" (identifier "FUN_0003822c") (argument_list "(param_1,uVar22)" (( "(") (identifier "param_1") (, ",") (identifier "uVar22") () ")"))) (; ";"))) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" (identifier "piVar14") (= "=") (identifier "param_1")) (; ";")) (} "}")) (else_clause "else {\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }" (else "else") (compound_statement "{\n    local_8c = param_4;\n    if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }\n    if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }\n    if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }\n    if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }\n    if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }\n    if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }\n  }" ({ "{") (expression_statement "local_8c = param_4;" (assignment_expression "local_8c = param_4" (identifier "local_8c") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (0x1b73 < iVar3) {\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }" (if "if") (parenthesized_expression "(0x1b73 < iVar3)" (( "(") (binary_expression "0x1b73 < iVar3" (number_literal "0x1b73") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n      if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }\n      if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (iVar3 != 0x1b96) goto LAB_00042f14;\n      if (param_4 == (int *)0x0) goto LAB_00043e9c;\n      if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }\n      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);\n      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n      if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }\n      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n      piVar18[0x22] = iVar3;\n      iVar3 = FUN_00037b74(param_4);\n      piVar18[10] = iVar3;\n      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;\n      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);\n      if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }\n      uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);\n      goto LAB_00043628;\n    }" ({ "{") (if_statement "if (iVar3 == 0x1c91) {\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0x1c91)" (( "(") (binary_expression "iVar3 == 0x1c91" (identifier "iVar3") (== "==") (number_literal "0x1c91")) () ")")) (compound_statement "{\n        if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }\n        goto LAB_0004361c;\n      }" ({ "{") (if_statement "if (param_4 == (int *)0x0) {\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" (if "if") (parenthesized_expression "(param_4 == (int *)0x0)" (( "(") (binary_expression "param_4 == (int *)0x0" (identifier "param_4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00045644:\n          *piVar18 = 0x1c91;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" ({ "{") (labeled_statement "LAB_00045644:\n          *piVar18 = 0x1c91;" (statement_identifier "LAB_00045644") (: ":") (expression_statement "*piVar18 = 0x1c91;" (assignment_expression "*piVar18 = 0x1c91" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1c91")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (if_statement "if (param_4[2] == 0x20) {\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }\n        else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }" (if "if") (parenthesized_expression "(param_4[2] == 0x20)" (( "(") (binary_expression "param_4[2] == 0x20" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n          if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }\n        }" ({ "{") (expression_statement "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20)" (identifier "FUN_00037704") (argument_list "(param_4,piVar18 + 0x1b,piVar18 + 0x20)" (( "(") (identifier "param_4") (, ",") (binary_expression "piVar18 + 0x1b" (identifier "piVar18") (+ "+") (number_literal "0x1b")) (, ",") (binary_expression "piVar18 + 0x20" (identifier "piVar18") (+ "+") (number_literal "0x20")) () ")"))) (; ";")) (if_statement "if (piVar18[0x1b] == 0) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }\n          else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }" (if "if") (parenthesized_expression "(piVar18[0x1b] == 0)" (( "(") (binary_expression "piVar18[0x1b] == 0" (subscript_expression "piVar18[0x1b]" (identifier "piVar18") ([ "[") (number_literal "0x1b") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;\n          }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ea4" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5ea4"))) (; ";")) (} "}")) (else_clause "else {\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }" (else "else") (compound_statement "{\n            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\nLAB_0004446c:\n            iVar3 = param_1[0x26];\nLAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);\n            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);\n            iVar3 = piVar18[0x22];\n            param_1[0x3a] = 0;\n            if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }\n          }" ({ "{") (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(piVar18[0x1c])" (( "(") (subscript_expression "piVar18[0x1c]" (identifier "piVar18") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (labeled_statement "LAB_0004446c:\n            iVar3 = param_1[0x26];" (statement_identifier "LAB_0004446c") (: ":") (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (; ";"))) (labeled_statement "LAB_00044470:\n            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);" (statement_identifier "LAB_00044470") (: ":") (expression_statement "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);" (call_expression "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb])" (identifier "FUN_0003a270") (argument_list "(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb])" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) () ")"))) (; ";"))) (if_statement "if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }" (if "if") (parenthesized_expression "(0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" (( "(") (binary_expression "0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" (number_literal "0x40") (< "<") (pointer_expression "*(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" (* "*") (cast_expression "(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x14)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n              (*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n              return;\n            }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" (* "*") (cast_expression "(code *)PTR___assert_fail_000b2d2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000b2d2c"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,\n                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ec8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5ec8")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x35c0")) (, ",") (number_literal "0x1ca2") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x7e6c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);" (call_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25)" (parenthesized_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))" (( "(") (pointer_expression "**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc)" (* "*") (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc)" (* "*") (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0xc)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0xc" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(param_1[3],piVar18 + 0x25)" (( "(") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "piVar18 + 0x25" (identifier "piVar18") (+ "+") (number_literal "0x25")) () ")"))) (; ";")) (expression_statement "iVar3 = piVar18[0x22];" (assignment_expression "iVar3 = piVar18[0x22]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x22]" (identifier "piVar18") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (expression_statement "param_1[0x3a] = 0;" (assignment_expression "param_1[0x3a] = 0" (subscript_expression "param_1[0x3a]" (identifier "param_1") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar3 == 0) {\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }\n            else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;\n            }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5efc" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5efc"))) (; ";")) (} "}")) (else_clause "else {\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }" (else "else") (compound_statement "{\n              iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));\n              if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;\n            }" ({ "{") (expression_statement "iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));" (assignment_expression "iVar3 = (**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" (identifier "iVar3") (= "=") (call_expression "(**(code **)(param_1[0x27] + 0x28))\n                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" (parenthesized_expression "(**(code **)(param_1[0x27] + 0x28))" (( "(") (pointer_expression "**(code **)(param_1[0x27] + 0x28)" (* "*") (pointer_expression "*(code **)(param_1[0x27] + 0x28)" (* "*") (cast_expression "(code **)(param_1[0x27] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x27] + 0x28)" (( "(") (binary_expression "param_1[0x27] + 0x28" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,\n                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14))" (( "(") (identifier "iVar3") (, ",") (subscript_expression "piVar18[0x1b]" (identifier "piVar18") ([ "[") (number_literal "0x1b") (] "]")) (, ",") (subscript_expression "piVar18[0x20]" (identifier "piVar18") ([ "[") (number_literal "0x20") (] "]")) (, ",") (binary_expression "piVar18 + 0x25" (identifier "piVar18") (+ "+") (number_literal "0x25")) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x14)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);\n                piVar18[0x1d] = iVar3;\n                if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }\n                if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }\n                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);\n                if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                iVar3 = param_1[0x27];\n                goto LAB_000430dc;\n              }" ({ "{") (expression_statement "iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);" (assignment_expression "iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22])" (identifier "iVar3") (= "=") (call_expression "(**(code **)(param_1[0x27] + 8))(piVar18[0x22])" (parenthesized_expression "(**(code **)(param_1[0x27] + 8))" (( "(") (pointer_expression "**(code **)(param_1[0x27] + 8)" (* "*") (pointer_expression "*(code **)(param_1[0x27] + 8)" (* "*") (cast_expression "(code **)(param_1[0x27] + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x27] + 8)" (( "(") (binary_expression "param_1[0x27] + 8" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(piVar18[0x22])" (( "(") (subscript_expression "piVar18[0x22]" (identifier "piVar18") ([ "[") (number_literal "0x22") (] "]")) () ")")))) (; ";")) (expression_statement "piVar18[0x1d] = iVar3;" (assignment_expression "piVar18[0x1d] = iVar3" (subscript_expression "piVar18[0x1d]" (identifier "piVar18") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (piVar18[0x4d] == 0) {\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }" (if "if") (parenthesized_expression "(piVar18[0x4d] == 0)" (( "(") (binary_expression "piVar18[0x4d] == 0" (subscript_expression "piVar18[0x4d]" (identifier "piVar18") ([ "[") (number_literal "0x4d") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar16 = 0;\n                  iVar12 = 0;\n                  iVar3 = 0;\n                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);\n                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;\n                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;\n                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                  do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );\n                }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);" (assignment_expression "puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8)" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)(PTR_DAT_000b2398 + 0x1ed8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ed8)" (( "(") (binary_expression "PTR_DAT_000b2398 + 0x1ed8" (identifier "PTR_DAT_000b2398") (+ "+") (number_literal "0x1ed8")) () ")")))) (; ";")) (expression_statement "puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;" (assignment_expression "puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0" (identifier "puVar6") (= "=") (binary_expression "PTR_s_entropy_source_000b23f0 + 0x3a0" (identifier "PTR_s_entropy_source_000b23f0") (+ "+") (number_literal "0x3a0"))) (; ";")) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54" (identifier "puVar5") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f54" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5f54"))) (; ";")) (expression_statement "puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;" (assignment_expression "puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac" (identifier "puVar15") (= "=") (identifier "PTR_ssh_ecdsa_ed25519_000b29ac")) (; ";")) (do_statement "do {\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  } while( true );" (do "do") (compound_statement "{\n                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }\nLAB_00044588:\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) goto LAB_000456a8;\n                    puVar15 = (undefined *)*puVar19;\n                  }" ({ "{") (if_statement "if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }" (if "if") (parenthesized_expression "(((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2]))" (( "(") (binary_expression "((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])" (parenthesized_expression "((undefined *)param_1[0x27] != puVar15)" (( "(") (binary_expression "(undefined *)param_1[0x27] != puVar15" (cast_expression "(undefined *)param_1[0x27]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))) (!= "!=") (identifier "puVar15")) () ")")) (&& "&&") (parenthesized_expression "(0 < param_1[0x1b2])" (( "(") (binary_expression "0 < param_1[0x1b2]" (number_literal "0") (< "<") (subscript_expression "param_1[0x1b2]" (identifier "param_1") ([ "[") (number_literal "0x1b2") (] "]"))) () ")"))) () ")")) (compound_statement "{\n                      if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }\n                      if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }\n                      iVar16 = iVar16 + 1;\n                      (*(code *)PTR_safefree_000b23d0)(iVar3);\n                      iVar3 = iVar7;\n                    }" ({ "{") (if_statement "if (iVar12 != param_1[0x1ac]) {\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }" (if "if") (parenthesized_expression "(iVar12 != param_1[0x1ac])" (( "(") (binary_expression "iVar12 != param_1[0x1ac]" (identifier "iVar12") (!= "!=") (subscript_expression "param_1[0x1ac]" (identifier "param_1") ([ "[") (number_literal "0x1ac") (] "]"))) () ")")) (compound_statement "{\n                        iVar7 = 0;\n                        piVar14 = param_1 + 0x1ad;\n                        do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);\n                      }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar14 = param_1 + 0x1ad;" (assignment_expression "piVar14 = param_1 + 0x1ad" (identifier "piVar14") (= "=") (binary_expression "param_1 + 0x1ad" (identifier "param_1") (+ "+") (number_literal "0x1ad"))) (; ";")) (do_statement "do {\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        } while (iVar13 != iVar12);" (do "do") (compound_statement "{\n                          iVar7 = iVar7 + 1;\n                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;\n                          iVar13 = *piVar14;\n                          piVar14 = piVar14 + 1;\n                        }" ({ "{") (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar7 == param_1[0x1b2]) goto LAB_00044588;" (if "if") (parenthesized_expression "(iVar7 == param_1[0x1b2])" (( "(") (binary_expression "iVar7 == param_1[0x1b2]" (identifier "iVar7") (== "==") (subscript_expression "param_1[0x1b2]" (identifier "param_1") ([ "[") (number_literal "0x1b2") (] "]"))) () ")")) (goto_statement "goto LAB_00044588;" (goto "goto") (statement_identifier "LAB_00044588") (; ";"))) (expression_statement "iVar13 = *piVar14;" (assignment_expression "iVar13 = *piVar14" (identifier "iVar13") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 1" (identifier "piVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar13 != iVar12)" (( "(") (binary_expression "iVar13 != iVar12" (identifier "iVar13") (!= "!=") (identifier "iVar12")) () ")")) (; ";")) (} "}"))) (if_statement "if (iVar3 == 0) {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }\n                      else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);\n                      }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);" (assignment_expression "iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_dupprintf_000b2404)(puVar6)" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" (( "(") (pointer_expression "*(code *)PTR_dupprintf_000b2404" (* "*") (cast_expression "(code *)PTR_dupprintf_000b2404" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupprintf_000b2404"))) () ")")) (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }" (else "else") (compound_statement "{\n                        iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));\n                      }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));" (assignment_expression "iVar7 = (*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30))" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30))" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" (( "(") (pointer_expression "*(code *)PTR_dupprintf_000b2404" (* "*") (cast_expression "(code *)PTR_dupprintf_000b2404" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupprintf_000b2404"))) () ")")) (argument_list "(puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30))" (( "(") (identifier "puVar5") (, ",") (identifier "iVar3") (, ",") (pointer_expression "*(undefined4 *)(puVar15 + 0x30)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x30)" (( "(") (binary_expression "puVar15 + 0x30" (identifier "puVar15") (+ "+") (number_literal "0x30")) () ")")))) () ")")))) (; ";")) (} "}")))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "iVar3 = iVar7;" (assignment_expression "iVar3 = iVar7" (identifier "iVar3") (= "=") (identifier "iVar7")) (; ";")) (} "}"))) (labeled_statement "LAB_00044588:\n                    iVar12 = iVar12 + 1;" (statement_identifier "LAB_00044588") (: ":") (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar19 = puVar19 + 2;" (assignment_expression "puVar19 = puVar19 + 2" (identifier "puVar19") (= "=") (binary_expression "puVar19 + 2" (identifier "puVar19") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (iVar12 == 6) goto LAB_000456a8;" (if "if") (parenthesized_expression "(iVar12 == 6)" (( "(") (binary_expression "iVar12 == 6" (identifier "iVar12") (== "==") (number_literal "6")) () ")")) (goto_statement "goto LAB_000456a8;" (goto "goto") (statement_identifier "LAB_000456a8") (; ";"))) (expression_statement "puVar15 = (undefined *)*puVar19;" (assignment_expression "puVar15 = (undefined *)*puVar19" (identifier "puVar15") (= "=") (cast_expression "(undefined *)*puVar19" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (if_statement "if (param_1[0x1b3] != 0) {\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }" (if "if") (parenthesized_expression "(param_1[0x1b3] != 0)" (( "(") (binary_expression "param_1[0x1b3] != 0" (subscript_expression "param_1[0x1b3]" (identifier "param_1") ([ "[") (number_literal "0x1b3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);\n                  iVar16 = param_1[0x44];\n                  piVar18[0x1e] = iVar3;\n                  (*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);\n                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);\n                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);\n                  (*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);\n                  iVar3 = piVar18[0x1d];\n                  param_1[0x1b3] = 0;\n                  param_1[0x28] = iVar3;\n                  goto LAB_000430d8;\n                }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" (parenthesized_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)" (( "(") (pointer_expression "*(code *)PTR_ssh2_fingerprint_000b29f8" (* "*") (cast_expression "(code *)PTR_ssh2_fingerprint_000b29f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh2_fingerprint_000b29f8"))) () ")")) (argument_list "(param_1[0x27],piVar18[0x22])" (( "(") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (, ",") (subscript_expression "piVar18[0x22]" (identifier "piVar18") ([ "[") (number_literal "0x22") (] "]")) () ")")))) (; ";")) (expression_statement "iVar16 = param_1[0x44];" (assignment_expression "iVar16 = param_1[0x44]" (identifier "iVar16") (= "=") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]"))) (; ";")) (expression_statement "piVar18[0x1e] = iVar3;" (assignment_expression "piVar18[0x1e] = iVar3" (subscript_expression "piVar18[0x1e]" (identifier "piVar18") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "(*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" (( "(") (pointer_expression "*(code *)PTR_logevent_000b242c" (* "*") (cast_expression "(code *)PTR_logevent_000b242c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_logevent_000b242c"))) () ")")) (argument_list "(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c)" (( "(") (identifier "iVar16") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x604c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x604c")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);" (call_expression "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" (( "(") (pointer_expression "*(code *)PTR_logevent_000b242c" (* "*") (cast_expression "(code *)PTR_logevent_000b242c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_logevent_000b242c"))) () ")")) (argument_list "(param_1[0x44],piVar18[0x1e])" (( "(") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) (, ",") (subscript_expression "piVar18[0x1e]" (identifier "piVar18") ([ "[") (number_literal "0x1e") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(piVar18[0x1e])" (( "(") (subscript_expression "piVar18[0x1e]" (identifier "piVar18") ([ "[") (number_literal "0x1e") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d]);" (call_expression "(*(code *)PTR_store_host_key_000b2a08)\n                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d])" (parenthesized_expression "(*(code *)PTR_store_host_key_000b2a08)" (( "(") (pointer_expression "*(code *)PTR_store_host_key_000b2a08" (* "*") (cast_expression "(code *)PTR_store_host_key_000b2a08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_store_host_key_000b2a08"))) () ")")) (argument_list "(param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),\n                             piVar18[0x1d])" (( "(") (subscript_expression "param_1[0x3e]" (identifier "param_1") ([ "[") (number_literal "0x3e") (] "]")) (, ",") (subscript_expression "param_1[0x3f]" (identifier "param_1") ([ "[") (number_literal "0x3f") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1[0x27] + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x27] + 0x34)" (( "(") (binary_expression "param_1[0x27] + 0x34" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "0x34")) () ")")))) (, ",") (subscript_expression "piVar18[0x1d]" (identifier "piVar18") ([ "[") (number_literal "0x1d") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = piVar18[0x1d];" (assignment_expression "iVar3 = piVar18[0x1d]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x1d]" (identifier "piVar18") ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (expression_statement "param_1[0x1b3] = 0;" (assignment_expression "param_1[0x1b3] = 0" (subscript_expression "param_1[0x1b3]" (identifier "param_1") ([ "[") (number_literal "0x1b3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x28] = iVar3;" (assignment_expression "param_1[0x28] = iVar3" (subscript_expression "param_1[0x28]" (identifier "param_1") ([ "[") (number_literal "0x28") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (goto_statement "goto LAB_000430d8;" (goto "goto") (statement_identifier "LAB_000430d8") (; ";")) (} "}"))) (expression_statement "iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);" (assignment_expression "iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3)" (identifier "iVar16") (= "=") (call_expression "(*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3)" (parenthesized_expression "(*(code *)PTR_strcmp_000b2f40)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000b2f40" (* "*") (cast_expression "(code *)PTR_strcmp_000b2f40" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000b2f40"))) () ")")) (argument_list "(param_1[0x28],iVar3)" (( "(") (subscript_expression "param_1[0x28]" (identifier "param_1") ([ "[") (number_literal "0x28") (] "]")) (, ",") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if (iVar16 != 0) {\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;\n                  goto LAB_0004361c;\n                }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6078" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x6078"))) (; ";")) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "iVar3 = param_1[0x27];" (assignment_expression "iVar3 = param_1[0x27]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))) (; ";")) (goto_statement "goto LAB_000430dc;" (goto "goto") (statement_identifier "LAB_000430dc") (; ";")) (} "}"))) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f1c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5f1c"))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }" (else "else") (compound_statement "{\n          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;\n        }" ({ "{") (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(piVar18[0x1c])" (( "(") (subscript_expression "piVar18[0x1c]" (identifier "piVar18") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5e7c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5e7c"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (if_statement "if (0x1c91 < iVar3) {\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }" (if "if") (parenthesized_expression "(0x1c91 < iVar3)" (( "(") (binary_expression "0x1c91 < iVar3" (number_literal "0x1c91") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n        if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }\nLAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }\n        goto LAB_00042f18;\n      }" ({ "{") (if_statement "if (iVar3 == 0x1d8a) {\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }\n        else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar3 == 0x1d8a)" (( "(") (binary_expression "iVar3 == 0x1d8a" (identifier "iVar3") (== "==") (number_literal "0x1d8a")) () ")")) (compound_statement "{\n          if (param_4 == (int *)0x0) goto LAB_000434a4;\n          if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }\n          param_1[0x1a1] = 0;\n          if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x13];\n          if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }\n          if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }\n          puVar19 = (undefined4 *)piVar18[0x15];\n          if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }\n          if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }\n          iVar3 = piVar18[0x19];\n          param_1[0x23] = iVar3;\n          iVar3 = (**(code **)(iVar3 + 0x14))();\n          param_1[0x25] = iVar3;\n          if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }\n          if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }\n          if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }\n          freebn(piVar18[0xb]);\n          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);\n          puVar6 = PTR_getticks_000b23ac;\n          if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }\n          param_1[0x1a5] = 0;\n          iVar3 = (*(code *)puVar6)();\n          puVar6 = PTR_conf_get_int_000b2434;\n          piVar14 = (int *)param_1[0x92];\n          param_1[0x1a7] = iVar3;\n          iVar3 = (*(code *)puVar6)(piVar14,0x1a);\n          if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }\nLAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }\n        }" ({ "{") (if_statement "if (param_4 == (int *)0x0) goto LAB_000434a4;" (if "if") (parenthesized_expression "(param_4 == (int *)0x0)" (( "(") (binary_expression "param_4 == (int *)0x0" (identifier "param_4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000434a4;" (goto "goto") (statement_identifier "LAB_000434a4") (; ";"))) (if_statement "if (param_4[2] != 0x15) {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }" (if "if") (parenthesized_expression "(param_4[2] != 0x15)" (( "(") (binary_expression "param_4[2] != 0x15" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0x15")) () ")")) (compound_statement "{\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;\n            goto LAB_0004361c;\n          }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6160" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x6160"))) (; ";")) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (expression_statement "param_1[0x1a1] = 0;" (assignment_expression "param_1[0x1a1] = 0" (subscript_expression "param_1[0x1a1]" (identifier "param_1") ([ "[") (number_literal "0x1a1") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_1[0x1b] != 0) {\n            (**(code **)(param_1[0x19] + 4))();\n          }" (if "if") (parenthesized_expression "(param_1[0x1b] != 0)" (( "(") (binary_expression "param_1[0x1b] != 0" (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(param_1[0x19] + 4))();\n          }" ({ "{") (expression_statement "(**(code **)(param_1[0x19] + 4))();" (call_expression "(**(code **)(param_1[0x19] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x19] + 4))" (( "(") (pointer_expression "**(code **)(param_1[0x19] + 4)" (* "*") (pointer_expression "*(code **)(param_1[0x19] + 4)" (* "*") (cast_expression "(code **)(param_1[0x19] + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x19] + 4)" (( "(") (binary_expression "param_1[0x19] + 4" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar19 = (undefined4 *)piVar18[0x13];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x13]" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)piVar18[0x13]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x13]" (identifier "piVar18") ([ "[") (number_literal "0x13") (] "]")))) (; ";")) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }" (if "if") (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar19 != (undefined4 *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pcVar28 = (code *)*puVar19;\n            param_1[0x19] = (int)puVar19;\n            iVar3 = (*pcVar28)();\n            param_1[0x1b] = iVar3;\n          }" ({ "{") (expression_statement "pcVar28 = (code *)*puVar19;" (assignment_expression "pcVar28 = (code *)*puVar19" (identifier "pcVar28") (= "=") (cast_expression "(code *)*puVar19" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "param_1[0x19] = (int)puVar19;" (assignment_expression "param_1[0x19] = (int)puVar19" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (= "=") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19"))) (; ";")) (expression_statement "iVar3 = (*pcVar28)();" (assignment_expression "iVar3 = (*pcVar28)()" (identifier "iVar3") (= "=") (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_1[0x1b] = iVar3;" (assignment_expression "param_1[0x1b] = iVar3" (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (if_statement "if (param_1[0x21] != 0) {\n            (**(code **)(param_1[0x1d] + 4))();\n          }" (if "if") (parenthesized_expression "(param_1[0x21] != 0)" (( "(") (binary_expression "param_1[0x21] != 0" (subscript_expression "param_1[0x21]" (identifier "param_1") ([ "[") (number_literal "0x21") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(param_1[0x1d] + 4))();\n          }" ({ "{") (expression_statement "(**(code **)(param_1[0x1d] + 4))();" (call_expression "(**(code **)(param_1[0x1d] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x1d] + 4))" (( "(") (pointer_expression "**(code **)(param_1[0x1d] + 4)" (* "*") (pointer_expression "*(code **)(param_1[0x1d] + 4)" (* "*") (cast_expression "(code **)(param_1[0x1d] + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x1d] + 4)" (( "(") (binary_expression "param_1[0x1d] + 4" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar19 = (undefined4 *)piVar18[0x15];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x15]" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)piVar18[0x15]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x15]" (identifier "piVar18") ([ "[") (number_literal "0x15") (] "]")))) (; ";")) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }" (if "if") (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar19 != (undefined4 *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            iVar3 = piVar18[0x17];\n            pcVar28 = (code *)*puVar19;\n            param_1[0x1d] = (int)puVar19;\n            param_1[0x1f] = iVar3;\n            iVar3 = (*pcVar28)(param_1[0x1b]);\n            param_1[0x21] = iVar3;\n          }" ({ "{") (expression_statement "iVar3 = piVar18[0x17];" (assignment_expression "iVar3 = piVar18[0x17]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x17]" (identifier "piVar18") ([ "[") (number_literal "0x17") (] "]"))) (; ";")) (expression_statement "pcVar28 = (code *)*puVar19;" (assignment_expression "pcVar28 = (code *)*puVar19" (identifier "pcVar28") (= "=") (cast_expression "(code *)*puVar19" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "param_1[0x1d] = (int)puVar19;" (assignment_expression "param_1[0x1d] = (int)puVar19" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19"))) (; ";")) (expression_statement "param_1[0x1f] = iVar3;" (assignment_expression "param_1[0x1f] = iVar3" (subscript_expression "param_1[0x1f]" (identifier "param_1") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar3 = (*pcVar28)(param_1[0x1b]);" (assignment_expression "iVar3 = (*pcVar28)(param_1[0x1b])" (identifier "iVar3") (= "=") (call_expression "(*pcVar28)(param_1[0x1b])" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(param_1[0x1b])" (( "(") (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]")) () ")")))) (; ";")) (expression_statement "param_1[0x21] = iVar3;" (assignment_expression "param_1[0x21] = iVar3" (subscript_expression "param_1[0x21]" (identifier "param_1") ([ "[") (number_literal "0x21") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (if_statement "if (param_1[0x25] != 0) {\n            (**(code **)(param_1[0x23] + 0x18))();\n          }" (if "if") (parenthesized_expression "(param_1[0x25] != 0)" (( "(") (binary_expression "param_1[0x25] != 0" (subscript_expression "param_1[0x25]" (identifier "param_1") ([ "[") (number_literal "0x25") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(param_1[0x23] + 0x18))();\n          }" ({ "{") (expression_statement "(**(code **)(param_1[0x23] + 0x18))();" (call_expression "(**(code **)(param_1[0x23] + 0x18))()" (parenthesized_expression "(**(code **)(param_1[0x23] + 0x18))" (( "(") (pointer_expression "**(code **)(param_1[0x23] + 0x18)" (* "*") (pointer_expression "*(code **)(param_1[0x23] + 0x18)" (* "*") (cast_expression "(code **)(param_1[0x23] + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x23] + 0x18)" (( "(") (binary_expression "param_1[0x23] + 0x18" (subscript_expression "param_1[0x23]" (identifier "param_1") ([ "[") (number_literal "0x23") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = piVar18[0x19];" (assignment_expression "iVar3 = piVar18[0x19]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x19]" (identifier "piVar18") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (expression_statement "param_1[0x23] = iVar3;" (assignment_expression "param_1[0x23] = iVar3" (subscript_expression "param_1[0x23]" (identifier "param_1") ([ "[") (number_literal "0x23") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar3 = (**(code **)(iVar3 + 0x14))();" (assignment_expression "iVar3 = (**(code **)(iVar3 + 0x14))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(iVar3 + 0x14))()" (parenthesized_expression "(**(code **)(iVar3 + 0x14))" (( "(") (pointer_expression "**(code **)(iVar3 + 0x14)" (* "*") (pointer_expression "*(code **)(iVar3 + 0x14)" (* "*") (cast_expression "(code **)(iVar3 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_1[0x25] = iVar3;" (assignment_expression "param_1[0x25] = iVar3" (subscript_expression "param_1[0x25]" (identifier "param_1") ([ "[") (number_literal "0x25") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (param_1[0x19] != 0) {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }" (if "if") (parenthesized_expression "(param_1[0x19] != 0)" (( "(") (binary_expression "param_1[0x19] != 0" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));\n            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));\n            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n          }" ({ "{") (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c))" (identifier "uVar22") (= "=") (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c))" (identifier "FUN_0003a328") (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x44,\n                                  *(undefined4 *)(param_1[0x19] + 0x2c))" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (, ",") (binary_expression "piVar18 + 0x25" (identifier "piVar18") (+ "+") (number_literal "0x25")) (, ",") (number_literal "0x44") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x2c)" (* "*") (cast_expression "(undefined4 *)(param_1[0x19] + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x19] + 0x2c)" (( "(") (binary_expression "param_1[0x19] + 0x2c" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) () ")")))) (; ";")) (expression_statement "(**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);" (call_expression "(**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x19] + 0xc))" (( "(") (pointer_expression "**(code **)(param_1[0x19] + 0xc)" (* "*") (pointer_expression "*(code **)(param_1[0x19] + 0xc)" (* "*") (cast_expression "(code **)(param_1[0x19] + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x19] + 0xc)" (( "(") (binary_expression "param_1[0x19] + 0xc" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(param_1[0x1b],uVar22)" (( "(") (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]")) (, ",") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" (( "(") (pointer_expression "*(code *)PTR_smemclr_000b2460" (* "*") (cast_expression "(code *)PTR_smemclr_000b2460" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_smemclr_000b2460"))) () ")")) (argument_list "(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c))" (( "(") (identifier "uVar22") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x2c)" (* "*") (cast_expression "(undefined4 *)(param_1[0x19] + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x19] + 0x2c)" (( "(") (binary_expression "param_1[0x19] + 0x2c" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24))" (identifier "uVar22") (= "=") (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24))" (identifier "FUN_0003a328") (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x42,\n                                  *(undefined4 *)(param_1[0x19] + 0x24))" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (, ",") (binary_expression "piVar18 + 0x25" (identifier "piVar18") (+ "+") (number_literal "0x25")) (, ",") (number_literal "0x42") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1[0x19] + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x19] + 0x24)" (( "(") (binary_expression "param_1[0x19] + 0x24" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "0x24")) () ")")))) () ")")))) (; ";")) (expression_statement "(**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);" (call_expression "(**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x19] + 8))" (( "(") (pointer_expression "**(code **)(param_1[0x19] + 8)" (* "*") (pointer_expression "*(code **)(param_1[0x19] + 8)" (* "*") (cast_expression "(code **)(param_1[0x19] + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x19] + 8)" (( "(") (binary_expression "param_1[0x19] + 8" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(param_1[0x1b],uVar22)" (( "(") (subscript_expression "param_1[0x1b]" (identifier "param_1") ([ "[") (number_literal "0x1b") (] "]")) (, ",") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" (( "(") (pointer_expression "*(code *)PTR_smemclr_000b2460" (* "*") (cast_expression "(code *)PTR_smemclr_000b2460" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_smemclr_000b2460"))) () ")")) (argument_list "(uVar22,*(undefined4 *)(param_1[0x19] + 0x24))" (( "(") (identifier "uVar22") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x19] + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1[0x19] + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x19] + 0x24)" (( "(") (binary_expression "param_1[0x19] + 0x24" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "0x24")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[0x1d] == 0) {\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }\n          else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }" (if "if") (parenthesized_expression "(param_1[0x1d] == 0)" (( "(") (binary_expression "param_1[0x1d] == 0" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) goto LAB_000447c0;\n            iVar3 = param_1[0x23];\n          }" ({ "{") (expression_statement "iVar3 = param_1[0x19];" (assignment_expression "iVar3 = param_1[0x19]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_000447c0;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000447c0;" (goto "goto") (statement_identifier "LAB_000447c0") (; ";"))) (expression_statement "iVar3 = param_1[0x23];" (assignment_expression "iVar3 = param_1[0x23]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x23]" (identifier "param_1") ([ "[") (number_literal "0x23") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }" (else "else") (compound_statement "{\n            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));\n            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);\n            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));\n            (*(code *)PTR_safefree_000b23d0)(uVar22);\n            iVar3 = param_1[0x19];\n            if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }\n            if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }\n            iVar3 = param_1[0x23];\n          }" ({ "{") (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30))" (identifier "uVar22") (= "=") (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30))" (identifier "FUN_0003a328") (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x46,\n                                  *(undefined4 *)(param_1[0x1d] + 0x30))" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (, ",") (binary_expression "piVar18 + 0x25" (identifier "piVar18") (+ "+") (number_literal "0x25")) (, ",") (number_literal "0x46") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x1d] + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1[0x1d] + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x1d] + 0x30)" (( "(") (binary_expression "param_1[0x1d] + 0x30" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "0x30")) () ")")))) () ")")))) (; ";")) (expression_statement "(**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);" (call_expression "(**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x1d] + 8))" (( "(") (pointer_expression "**(code **)(param_1[0x1d] + 8)" (* "*") (pointer_expression "*(code **)(param_1[0x1d] + 8)" (* "*") (cast_expression "(code **)(param_1[0x1d] + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x1d] + 8)" (( "(") (binary_expression "param_1[0x1d] + 8" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(param_1[0x21],uVar22)" (( "(") (subscript_expression "param_1[0x21]" (identifier "param_1") ([ "[") (number_literal "0x21") (] "]")) (, ",") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" (( "(") (pointer_expression "*(code *)PTR_smemclr_000b2460" (* "*") (cast_expression "(code *)PTR_smemclr_000b2460" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_smemclr_000b2460"))) () ")")) (argument_list "(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30))" (( "(") (identifier "uVar22") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x1d] + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1[0x1d] + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x1d] + 0x30)" (( "(") (binary_expression "param_1[0x1d] + 0x30" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "0x30")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "iVar3 = param_1[0x19];" (assignment_expression "iVar3 = param_1[0x19]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (if_statement "if (iVar3 != 0) {\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));\n            }" ({ "{") (labeled_statement "LAB_000447c0:\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));" (statement_identifier "LAB_000447c0") (: ":") (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34))" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,\n                           *(undefined4 *)(iVar3 + 0x34))" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6188" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x6188")) (, ",") (pointer_expression "*(undefined4 *)(iVar3 + 0x34)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")")))) () ")"))) (; ";"))) (} "}"))) (if_statement "if (param_1[0x1d] != 0) {\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }" (if "if") (parenthesized_expression "(param_1[0x1d] != 0)" (( "(") (binary_expression "param_1[0x1d] != 0" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }\n              if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);\n            }" ({ "{") (if_statement "if (param_1[0x1f] == 0) {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }" (if "if") (parenthesized_expression "(param_1[0x1f] == 0)" (( "(") (binary_expression "param_1[0x1f] == 0" (subscript_expression "param_1[0x1f]" (identifier "param_1") ([ "[") (number_literal "0x1f") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }" ({ "{") (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "puVar6") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4f64"))) (; ";")) (} "}")) (else_clause "else {\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }" (else "else") (compound_statement "{\n                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n              }" ({ "{") (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c" (identifier "puVar6") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x585c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x585c"))) (; ";")) (} "}")))) (if_statement "if (*(int *)(param_1[0x19] + 0x38) == 0) {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }\n              else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }" (if "if") (parenthesized_expression "(*(int *)(param_1[0x19] + 0x38) == 0)" (( "(") (binary_expression "*(int *)(param_1[0x19] + 0x38) == 0" (pointer_expression "*(int *)(param_1[0x19] + 0x38)" (* "*") (cast_expression "(int *)(param_1[0x19] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x19] + 0x38)" (( "(") (binary_expression "param_1[0x19] + 0x38" (subscript_expression "param_1[0x19]" (identifier "param_1") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n              }" ({ "{") (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "puVar5") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4f64"))) (; ";")) (} "}")) (else_clause "else {\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }" (else "else") (compound_statement "{\n                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n              }" ({ "{") (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c" (identifier "puVar5") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x586c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x586c"))) (; ";")) (} "}")))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5)" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,\n                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x61b8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x61b8")) (, ",") (pointer_expression "*(undefined4 *)(param_1[0x1d] + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1[0x1d] + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x1d] + 0x34)" (( "(") (binary_expression "param_1[0x1d] + 0x34" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "0x34")) () ")")))) (, ",") (identifier "puVar6") (, ",") (identifier "puVar5") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = param_1[0x23];" (assignment_expression "iVar3 = param_1[0x23]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x23]" (identifier "param_1") ([ "[") (number_literal "0x23") (] "]"))) (; ";")) (} "}")))) (if_statement "if (*(int *)(iVar3 + 0x24) != 0) {\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 0x24) != 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0x24) != 0" (pointer_expression "*(int *)(iVar3 + 0x24)" (* "*") (cast_expression "(int *)(iVar3 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x24)" (( "(") (binary_expression "iVar3 + 0x24" (identifier "iVar3") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);\n          }" ({ "{") (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec)" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x61ec" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x61ec")) () ")"))) (; ";")) (} "}"))) (expression_statement "freebn(piVar18[0xb]);" (call_expression "freebn(piVar18[0xb])" (identifier "freebn") (argument_list "(piVar18[0xb])" (( "(") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);" (call_expression "(*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44])" (parenthesized_expression "(*(code *)PTR_update_specials_menu_000b2880)" (( "(") (pointer_expression "*(code *)PTR_update_specials_menu_000b2880" (* "*") (cast_expression "(code *)PTR_update_specials_menu_000b2880" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_update_specials_menu_000b2880"))) () ")")) (argument_list "(param_1[0x44])" (( "(") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) () ")"))) (; ";")) (expression_statement "puVar6 = PTR_getticks_000b23ac;" (assignment_expression "puVar6 = PTR_getticks_000b23ac" (identifier "puVar6") (= "=") (identifier "PTR_getticks_000b23ac")) (; ";")) (if_statement "if (param_1[0x1a8] != 0) {\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }" (if "if") (parenthesized_expression "(param_1[0x1a8] != 0)" (( "(") (binary_expression "param_1[0x1a8] != 0" (subscript_expression "param_1[0x1a8]" (identifier "param_1") ([ "[") (number_literal "0x1a8") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);\n            local_8c = (int *)0x0;\n            param_1[0x1a8] = 0;\n            goto LAB_000448a0;\n          }" ({ "{") (expression_statement "(*(code *)PTR_logevent_000b242c)(param_1[0x44]);" (call_expression "(*(code *)PTR_logevent_000b242c)(param_1[0x44])" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" (( "(") (pointer_expression "*(code *)PTR_logevent_000b242c" (* "*") (cast_expression "(code *)PTR_logevent_000b242c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_logevent_000b242c"))) () ")")) (argument_list "(param_1[0x44])" (( "(") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) () ")"))) (; ";")) (expression_statement "local_8c = (int *)0x0;" (assignment_expression "local_8c = (int *)0x0" (identifier "local_8c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_1[0x1a8] = 0;" (assignment_expression "param_1[0x1a8] = 0" (subscript_expression "param_1[0x1a8]" (identifier "param_1") ([ "[") (number_literal "0x1a8") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000448a0;" (goto "goto") (statement_identifier "LAB_000448a0") (; ";")) (} "}"))) (expression_statement "param_1[0x1a5] = 0;" (assignment_expression "param_1[0x1a5] = 0" (subscript_expression "param_1[0x1a5]" (identifier "param_1") ([ "[") (number_literal "0x1a5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar6)();" (assignment_expression "iVar3 = (*(code *)puVar6)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar6)()" (parenthesized_expression "(*(code *)puVar6)" (( "(") (pointer_expression "*(code *)puVar6" (* "*") (cast_expression "(code *)puVar6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar6 = PTR_conf_get_int_000b2434;" (assignment_expression "puVar6 = PTR_conf_get_int_000b2434" (identifier "puVar6") (= "=") (identifier "PTR_conf_get_int_000b2434")) (; ";")) (expression_statement "piVar14 = (int *)param_1[0x92];" (assignment_expression "piVar14 = (int *)param_1[0x92]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[0x92]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x92]" (identifier "param_1") ([ "[") (number_literal "0x92") (] "]")))) (; ";")) (expression_statement "param_1[0x1a7] = iVar3;" (assignment_expression "param_1[0x1a7] = iVar3" (subscript_expression "param_1[0x1a7]" (identifier "param_1") ([ "[") (number_literal "0x1a7") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,0x1a);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,0x1a)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar6)(piVar14,0x1a)" (parenthesized_expression "(*(code *)puVar6)" (( "(") (pointer_expression "*(code *)puVar6" (* "*") (cast_expression "(code *)puVar6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) () ")")) (argument_list "(piVar14,0x1a)" (( "(") (identifier "piVar14") (, ",") (number_literal "0x1a") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n            piVar14 = (int *)(iVar3 * 60000);\n            iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n            param_1[0x1a6] = iVar3;\n          }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);" (assignment_expression "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" (parenthesized_expression "(*(code *)PTR_conf_get_int_000b2434)" (( "(") (pointer_expression "*(code *)PTR_conf_get_int_000b2434" (* "*") (cast_expression "(code *)PTR_conf_get_int_000b2434" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_conf_get_int_000b2434"))) () ")")) (argument_list "(param_1[0x92],0x1a)" (( "(") (subscript_expression "param_1[0x92]" (identifier "param_1") ([ "[") (number_literal "0x92") (] "]")) (, ",") (number_literal "0x1a") () ")")))) (; ";")) (expression_statement "piVar14 = (int *)(iVar3 * 60000);" (assignment_expression "piVar14 = (int *)(iVar3 * 60000)" (identifier "piVar14") (= "=") (cast_expression "(int *)(iVar3 * 60000)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 * 60000)" (( "(") (binary_expression "iVar3 * 60000" (identifier "iVar3") (* "*") (number_literal "60000")) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_schedule_timer_000b2568)\n                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (parenthesized_expression "(*(code *)PTR_schedule_timer_000b2568)" (( "(") (pointer_expression "*(code *)PTR_schedule_timer_000b2568" (* "*") (cast_expression "(code *)PTR_schedule_timer_000b2568" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_schedule_timer_000b2568"))) () ")")) (argument_list "(piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (( "(") (identifier "piVar14") (, ",") (binary_expression "PTR_LAB_000b28f8 + -0x1014" (identifier "PTR_LAB_000b28f8") (+ "+") (number_literal "-0x1014")) (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "param_1[0x1a6] = iVar3;" (assignment_expression "param_1[0x1a6] = iVar3" (subscript_expression "param_1[0x1a6]" (identifier "param_1") ([ "[") (number_literal "0x1a6") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (labeled_statement "LAB_00043eb4:\n          if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }" (statement_identifier "LAB_00043eb4") (: ":") (if_statement "if (param_4[2] == 0x14) {\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }" (if "if") (parenthesized_expression "(param_4[2] == 0x14)" (( "(") (binary_expression "param_4[2] == 0x14" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\n            (*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);\n            goto LAB_000448a0;\n          }" ({ "{") (expression_statement "(*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" (( "(") (pointer_expression "*(code *)PTR_logevent_000b242c" (* "*") (cast_expression "(code *)PTR_logevent_000b242c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_logevent_000b242c"))) () ")")) (argument_list "(param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c)" (( "(") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x620c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x620c")) () ")"))) (; ";")) (goto_statement "goto LAB_000448a0;" (goto "goto") (statement_identifier "LAB_000448a0") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }" (else "else") (compound_statement "{\n          if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }\n          if (param_4 != (int *)0x0) goto LAB_00043eb4;\n          if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }\n        }" ({ "{") (if_statement "if (iVar3 != 0x1e09) {\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }" (if "if") (parenthesized_expression "(iVar3 != 0x1e09)" (( "(") (binary_expression "iVar3 != 0x1e09" (identifier "iVar3") (!= "!=") (number_literal "0x1e09")) () ")")) (compound_statement "{\n            if (iVar3 != 0x1cf9) goto LAB_00042f14;\n            if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;\n            goto LAB_0004361c;\n          }" ({ "{") (if_statement "if (iVar3 != 0x1cf9) goto LAB_00042f14;" (if "if") (parenthesized_expression "(iVar3 != 0x1cf9)" (( "(") (binary_expression "iVar3 != 0x1cf9" (identifier "iVar3") (!= "!=") (number_literal "0x1cf9")) () ")")) (goto_statement "goto LAB_00042f14;" (goto "goto") (statement_identifier "LAB_00042f14") (; ";"))) (if_statement "if (param_4 == (int *)0x0) {\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }" (if "if") (parenthesized_expression "(param_4 == (int *)0x0)" (( "(") (binary_expression "param_4 == (int *)0x0" (identifier "param_4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n              if (0 < param_3) goto LAB_000457e0;\n              piVar18[0x50] = param_1[0x97];\n              goto LAB_00043094;\n            }" ({ "{") (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" (identifier "piVar14") (= "=") (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_s_acket_from_server___s_000b23a8"))) (; ";")) (if_statement "if (0 < param_3) goto LAB_000457e0;" (if "if") (parenthesized_expression "(0 < param_3)" (( "(") (binary_expression "0 < param_3" (number_literal "0") (< "<") (identifier "param_3")) () ")")) (goto_statement "goto LAB_000457e0;" (goto "goto") (statement_identifier "LAB_000457e0") (; ";"))) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (subscript_expression "param_1[0x97]" (identifier "param_1") ([ "[") (number_literal "0x97") (] "]"))) (; ";")) (goto_statement "goto LAB_00043094;" (goto "goto") (statement_identifier "LAB_00043094") (; ";")) (} "}"))) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5fe0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5fe0"))) (; ";")) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (if_statement "if (param_4 != (int *)0x0) goto LAB_00043eb4;" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00043eb4;" (goto "goto") (statement_identifier "LAB_00043eb4") (; ";"))) (if_statement "if (param_3 < 0) {\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }" (if "if") (parenthesized_expression "(param_3 < 0)" (( "(") (binary_expression "param_3 < 0" (identifier "param_3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }\n            if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }\n            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);\n            piVar14 = (int *)param_1[0x92];\n            param_1[0x1a2] = 0;\n            puVar15 = PTR_conf_get_int_000b2434;\n            param_1[0x1a1] = 0;\n            iVar3 = (*(code *)puVar15)(piVar14,0x1a);\n            if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }\n          }" ({ "{") (if_statement "if (param_3 == -2) {\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }" (if "if") (parenthesized_expression "(param_3 == -2)" (( "(") (binary_expression "param_3 == -2" (identifier "param_3") (== "==") (number_literal "-2")) () ")")) (compound_statement "{\n              if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }\n              piVar18[0x4b] = 1;\n              if (piVar18[0x4c] == 0) goto LAB_00043ec8;\n              piVar18[0x4c] = 0;\n            }" ({ "{") (if_statement "if (piVar18[0x4b] != 0) {\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }" (if "if") (parenthesized_expression "(piVar18[0x4b] != 0)" (( "(") (binary_expression "piVar18[0x4b] != 0" (subscript_expression "piVar18[0x4b]" (identifier "piVar18") ([ "[") (number_literal "0x4b") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                (*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                return;\n              }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" (* "*") (cast_expression "(code *)PTR___assert_fail_000b2d2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000b2d2c"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x6230,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,\n                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6230" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x6230")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x35c0")) (, ",") (number_literal "0x1e21") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x7e6c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar18[0x4b] = 1;" (assignment_expression "piVar18[0x4b] = 1" (subscript_expression "piVar18[0x4b]" (identifier "piVar18") ([ "[") (number_literal "0x4b") (] "]")) (= "=") (number_literal "1")) (; ";")) (if_statement "if (piVar18[0x4c] == 0) goto LAB_00043ec8;" (if "if") (parenthesized_expression "(piVar18[0x4c] == 0)" (( "(") (binary_expression "piVar18[0x4c] == 0" (subscript_expression "piVar18[0x4c]" (identifier "piVar18") ([ "[") (number_literal "0x4c") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00043ec8;" (goto "goto") (statement_identifier "LAB_00043ec8") (; ";"))) (expression_statement "piVar18[0x4c] = 0;" (assignment_expression "piVar18[0x4c] = 0" (subscript_expression "piVar18[0x4c]" (identifier "piVar18") ([ "[") (number_literal "0x4c") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if ((param_1[0x14] & 0x40U) == 0) {\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }" (if "if") (parenthesized_expression "((param_1[0x14] & 0x40U) == 0)" (( "(") (binary_expression "(param_1[0x14] & 0x40U) == 0" (parenthesized_expression "(param_1[0x14] & 0x40U)" (( "(") (binary_expression "param_1[0x14] & 0x40U" (subscript_expression "param_1[0x14]" (identifier "param_1") ([ "[") (number_literal "0x14") (] "]")) (& "&") (number_literal "0x40U")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);\n              goto LAB_000448a0;\n            }" ({ "{") (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2)" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6274" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x6274")) (, ",") (identifier "param_2") () ")"))) (; ";")) (goto_statement "goto LAB_000448a0;" (goto "goto") (statement_identifier "LAB_000448a0") (; ";")) (} "}"))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2)" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6248" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x6248")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "piVar14 = (int *)param_1[0x92];" (assignment_expression "piVar14 = (int *)param_1[0x92]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[0x92]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x92]" (identifier "param_1") ([ "[") (number_literal "0x92") (] "]")))) (; ";")) (expression_statement "param_1[0x1a2] = 0;" (assignment_expression "param_1[0x1a2] = 0" (subscript_expression "param_1[0x1a2]" (identifier "param_1") ([ "[") (number_literal "0x1a2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar15 = PTR_conf_get_int_000b2434;" (assignment_expression "puVar15 = PTR_conf_get_int_000b2434" (identifier "puVar15") (= "=") (identifier "PTR_conf_get_int_000b2434")) (; ";")) (expression_statement "param_1[0x1a1] = 0;" (assignment_expression "param_1[0x1a1] = 0" (subscript_expression "param_1[0x1a1]" (identifier "param_1") ([ "[") (number_literal "0x1a1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar15)(piVar14,0x1a);" (assignment_expression "iVar3 = (*(code *)puVar15)(piVar14,0x1a)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar15)(piVar14,0x1a)" (parenthesized_expression "(*(code *)puVar15)" (( "(") (pointer_expression "*(code *)puVar15" (* "*") (cast_expression "(code *)puVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) () ")")) (argument_list "(piVar14,0x1a)" (( "(") (identifier "piVar14") (, ",") (number_literal "0x1a") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);\n              piVar14 = (int *)(iVar3 * 60000);\n              iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);\n              param_1[0x1a6] = iVar3;\n            }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);" (assignment_expression "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a)" (parenthesized_expression "(*(code *)PTR_conf_get_int_000b2434)" (( "(") (pointer_expression "*(code *)PTR_conf_get_int_000b2434" (* "*") (cast_expression "(code *)PTR_conf_get_int_000b2434" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_conf_get_int_000b2434"))) () ")")) (argument_list "(param_1[0x92],0x1a)" (( "(") (subscript_expression "param_1[0x92]" (identifier "param_1") ([ "[") (number_literal "0x92") (] "]")) (, ",") (number_literal "0x1a") () ")")))) (; ";")) (expression_statement "piVar14 = (int *)(iVar3 * 60000);" (assignment_expression "piVar14 = (int *)(iVar3 * 60000)" (identifier "piVar14") (= "=") (cast_expression "(int *)(iVar3 * 60000)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 * 60000)" (( "(") (binary_expression "iVar3 * 60000" (identifier "iVar3") (* "*") (number_literal "60000")) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_schedule_timer_000b2568)\n                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (parenthesized_expression "(*(code *)PTR_schedule_timer_000b2568)" (( "(") (pointer_expression "*(code *)PTR_schedule_timer_000b2568" (* "*") (cast_expression "(code *)PTR_schedule_timer_000b2568" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_schedule_timer_000b2568"))) () ")")) (argument_list "(piVar14,PTR_LAB_000b28f8 + -0x1014,param_1)" (( "(") (identifier "piVar14") (, ",") (binary_expression "PTR_LAB_000b28f8 + -0x1014" (identifier "PTR_LAB_000b28f8") (+ "+") (number_literal "-0x1014")) (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "param_1[0x1a6] = iVar3;" (assignment_expression "param_1[0x1a6] = iVar3" (subscript_expression "param_1[0x1a6]" (identifier "param_1") ([ "[") (number_literal "0x1a6") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_00043ec8:\n        if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" (statement_identifier "LAB_00043ec8") (: ":") (if_statement "if (param_1[0x8e] == 0) {\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }\n        else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" (if "if") (parenthesized_expression "(param_1[0x8e] == 0)" (( "(") (binary_expression "param_1[0x8e] == 0" (subscript_expression "param_1[0x8e]" (identifier "param_1") ([ "[") (number_literal "0x8e") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_1[0x8e] = 1;\n          FUN_0003f3f4(param_1,0,0,0);\n          *piVar18 = 0x1e09;\n        }" ({ "{") (expression_statement "param_1[0x8e] = 1;" (assignment_expression "param_1[0x8e] = 1" (subscript_expression "param_1[0x8e]" (identifier "param_1") ([ "[") (number_literal "0x8e") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_0003f3f4(param_1,0,0,0);" (call_expression "FUN_0003f3f4(param_1,0,0,0)" (identifier "FUN_0003f3f4") (argument_list "(param_1,0,0,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*piVar18 = 0x1e09;" (assignment_expression "*piVar18 = 0x1e09" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1e09")) (; ";")) (} "}")) (else_clause "else {\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" (else "else") (compound_statement "{\n          *piVar18 = 0x1e09;\n          param_1 = piVar14;\n        }" ({ "{") (expression_statement "*piVar18 = 0x1e09;" (assignment_expression "*piVar18 = 0x1e09" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1e09")) (; ";")) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (} "}"))))) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (if_statement "if (iVar3 == 0x1bec) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0x1bec)" (( "(") (binary_expression "iVar3 == 0x1bec" (identifier "iVar3") (== "==") (number_literal "0x1bec")) () ")")) (compound_statement "{\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }\nLAB_00044a00:\n        *piVar18 = 0x1bec;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" ({ "{") (if_statement "if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }\n          goto LAB_0004361c;\n        }" ({ "{") (if_statement "if (param_4[2] == 0x1f) {\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }\n          else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }" (if "if") (parenthesized_expression "(param_4[2] == 0x1f)" (( "(") (binary_expression "param_4[2] == 0x1f" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x1f")) () ")")) (compound_statement "{\n            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }\n          }" ({ "{") (expression_statement "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704)" (identifier "pcVar28") (= "=") (cast_expression "(code *)(PTR_LAB_000b2760 + 0x7704)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000b2760 + 0x7704)" (( "(") (binary_expression "PTR_LAB_000b2760 + 0x7704" (identifier "PTR_LAB_000b2760") (+ "+") (number_literal "0x7704")) () ")")))) (; ";")) (expression_statement "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" (identifier "FUN_00037704") (argument_list "(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" (( "(") (identifier "param_4") (, ",") (binary_expression "piVar18 + 0x1a" (identifier "piVar18") (+ "+") (number_literal "0x1a")) (, ",") (binary_expression "piVar18 + 0x1f" (identifier "piVar18") (+ "+") (number_literal "0x1f")) () ")"))) (; ";")) (if_statement "if (piVar18[0x1a] == 0) {\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }\n            else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }" (if "if") (parenthesized_expression "(piVar18[0x1a] == 0)" (( "(") (binary_expression "piVar18[0x1a] == 0" (subscript_expression "piVar18[0x1a]" (identifier "piVar18") ([ "[") (number_literal "0x1a") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;\n            }" ({ "{") (labeled_statement "LAB_00045a04:\n              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;" (statement_identifier "LAB_00045a04") (: ":") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d04" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5d04"))) (; ";"))) (} "}")) (else_clause "else {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }" (else "else") (compound_statement "{\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;\n              piVar18[0x22] = iVar3;\n              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);\n              if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }\n            }" ({ "{") (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[0x1a]" (identifier "piVar18") ([ "[") (number_literal "0x1a") (] "]")) (, ",") (subscript_expression "piVar18[0x1f]" (identifier "piVar18") ([ "[") (number_literal "0x1f") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);" (assignment_expression "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (identifier "iVar3") (= "=") (call_expression "(**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (parenthesized_expression "(**(code **)param_1[0x27])" (( "(") (pointer_expression "**(code **)param_1[0x27]" (* "*") (pointer_expression "*(code **)param_1[0x27]" (* "*") (cast_expression "(code **)param_1[0x27]" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))))) () ")")) (argument_list "((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (( "(") (cast_expression "(undefined4 *)param_1[0x27]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))) (, ",") (subscript_expression "piVar18[0x1a]" (identifier "piVar18") ([ "[") (number_literal "0x1a") (] "]")) (, ",") (subscript_expression "piVar18[0x1f]" (identifier "piVar18") ([ "[") (number_literal "0x1f") (] "]")) () ")")))) (; ";")) (expression_statement "puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;" (assignment_expression "puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c" (identifier "puVar15") (= "=") (identifier "PTR_ssh_ecdhkex_getpublic_000b298c")) (; ";")) (expression_statement "piVar18[0x22] = iVar3;" (assignment_expression "piVar18[0x22] = iVar3" (subscript_expression "piVar18[0x22]" (identifier "piVar18") ([ "[") (number_literal "0x22") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);" (assignment_expression "iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar15)(piVar18[0x24],&local_54)" (parenthesized_expression "(*(code *)puVar15)" (( "(") (pointer_expression "*(code *)puVar15" (* "*") (cast_expression "(code *)puVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) () ")")) (argument_list "(piVar18[0x24],&local_54)" (( "(") (subscript_expression "piVar18[0x24]" (identifier "piVar18") ([ "[") (number_literal "0x24") (] "]")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }\n              else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;\n              }" ({ "{") (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" (( "(") (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" (* "*") (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_ecdhkex_freekey_000b2988"))) () ")")) (argument_list "(piVar18[0x24])" (( "(") (subscript_expression "piVar18[0x24]" (identifier "piVar18") ([ "[") (number_literal "0x24") (] "]")) () ")"))) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d28" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5d28"))) (; ";")) (} "}")) (else_clause "else {\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }" (else "else") (compound_statement "{\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);\n                (*(code *)PTR_safefree_000b23d0)(iVar3);\n                (*pcVar28)(param_4,&local_58,&local_54);\n                if (local_58 == 0) goto LAB_00045a04;\n                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);\n                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);\n                piVar18[0xb] = iVar3;\n                if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }\n                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;\n              }" ({ "{") (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54)" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "iVar3") (, ",") (identifier "local_54") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "(*pcVar28)(param_4,&local_58,&local_54);" (call_expression "(*pcVar28)(param_4,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(param_4,&local_58,&local_54)" (( "(") (identifier "param_4") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")"))) (; ";")) (if_statement "if (local_58 == 0) goto LAB_00045a04;" (if "if") (parenthesized_expression "(local_58 == 0)" (( "(") (binary_expression "local_58 == 0" (identifier "local_58") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045a04;" (goto "goto") (statement_identifier "LAB_00045a04") (; ";"))) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54)" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "local_58") (, ",") (identifier "local_54") () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54)" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_getkey_000b2990)" (( "(") (pointer_expression "*(code *)PTR_ssh_ecdhkex_getkey_000b2990" (* "*") (cast_expression "(code *)PTR_ssh_ecdhkex_getkey_000b2990" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_ecdhkex_getkey_000b2990"))) () ")")) (argument_list "(piVar18[0x24],local_58,local_54)" (( "(") (subscript_expression "piVar18[0x24]" (identifier "piVar18") ([ "[") (number_literal "0x24") (] "]")) (, ",") (identifier "local_58") (, ",") (identifier "local_54") () ")")))) (; ";")) (expression_statement "piVar18[0xb] = iVar3;" (assignment_expression "piVar18[0xb] = iVar3" (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 != 0) {\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);\n                  if (piVar18[0x1b] == 0) goto LAB_000459b4;\n                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n                  goto LAB_0004446c;\n                }" ({ "{") (expression_statement "(*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);" (call_expression "(*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(param_4,piVar18 + 0x1b,piVar18 + 0x20)" (( "(") (identifier "param_4") (, ",") (binary_expression "piVar18 + 0x1b" (identifier "piVar18") (+ "+") (number_literal "0x1b")) (, ",") (binary_expression "piVar18 + 0x20" (identifier "piVar18") (+ "+") (number_literal "0x20")) () ")"))) (; ";")) (if_statement "if (piVar18[0x1b] == 0) goto LAB_000459b4;" (if "if") (parenthesized_expression "(piVar18[0x1b] == 0)" (( "(") (binary_expression "piVar18[0x1b] == 0" (subscript_expression "piVar18[0x1b]" (identifier "piVar18") ([ "[") (number_literal "0x1b") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000459b4;" (goto "goto") (statement_identifier "LAB_000459b4") (; ";"))) (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" (( "(") (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" (* "*") (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_ecdhkex_freekey_000b2988"))) () ")")) (argument_list "(piVar18[0x24])" (( "(") (subscript_expression "piVar18[0x24]" (identifier "piVar18") ([ "[") (number_literal "0x24") (] "]")) () ")"))) (; ";")) (goto_statement "goto LAB_0004446c;" (goto "goto") (statement_identifier "LAB_0004446c") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" (( "(") (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" (* "*") (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_ecdhkex_freekey_000b2988"))) () ")")) (argument_list "(piVar18[0x24])" (( "(") (subscript_expression "piVar18[0x24]" (identifier "piVar18") ([ "[") (number_literal "0x24") (] "]")) () ")"))) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d54" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5d54"))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }" (else "else") (compound_statement "{\n            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;\n          }" ({ "{") (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" (( "(") (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" (* "*") (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_ecdhkex_freekey_000b2988"))) () ")")) (argument_list "(piVar18[0x24])" (( "(") (subscript_expression "piVar18[0x24]" (identifier "piVar18") ([ "[") (number_literal "0x24") (] "]")) () ")"))) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5cdc" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5cdc"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (labeled_statement "LAB_00044a00:\n        *piVar18 = 0x1bec;" (statement_identifier "LAB_00044a00") (: ":") (expression_statement "*piVar18 = 0x1bec;" (assignment_expression "*piVar18 = 0x1bec" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1bec")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (if_statement "if (iVar3 == 0x1c2a) {\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0x1c2a)" (( "(") (binary_expression "iVar3 == 0x1c2a" (identifier "iVar3") (== "==") (number_literal "0x1c2a")) () ")")) (compound_statement "{\n        if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }\nLAB_000451dc:\n        *piVar18 = 0x1c2a;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" ({ "{") (if_statement "if (param_4 != (int *)0x0) {\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }\n          goto LAB_0004361c;\n        }" ({ "{") (if_statement "if (param_4[2] == 0x1e) {\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }\n          else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }" (if "if") (parenthesized_expression "(param_4[2] == 0x1e)" (( "(") (binary_expression "param_4[2] == 0x1e" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x1e")) () ")")) (compound_statement "{\n            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);\n            if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;\n          }" ({ "{") (expression_statement "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" (identifier "FUN_00037704") (argument_list "(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" (( "(") (identifier "param_4") (, ",") (binary_expression "piVar18 + 0x1a" (identifier "piVar18") (+ "+") (number_literal "0x1a")) (, ",") (binary_expression "piVar18 + 0x1f" (identifier "piVar18") (+ "+") (number_literal "0x1f")) () ")"))) (; ";")) (if_statement "if (piVar18[0x1a] != 0) {\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }" (if "if") (parenthesized_expression "(piVar18[0x1a] != 0)" (( "(") (binary_expression "piVar18[0x1a] != 0" (subscript_expression "piVar18[0x1a]" (identifier "piVar18") ([ "[") (number_literal "0x1a") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;\n              iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);\n              piVar18[0x22] = iVar3;\n              FUN_00037704(param_4,&local_54,piVar18 + 0x21);\n              if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }\n            }" ({ "{") (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])\n              ;" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[0x1a]" (identifier "piVar18") ([ "[") (number_literal "0x1a") (] "]")) (, ",") (subscript_expression "piVar18[0x1f]" (identifier "piVar18") ([ "[") (number_literal "0x1f") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);" (assignment_expression "iVar3 = (**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (identifier "iVar3") (= "=") (call_expression "(**(code **)param_1[0x27])\n                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (parenthesized_expression "(**(code **)param_1[0x27])" (( "(") (pointer_expression "**(code **)param_1[0x27]" (* "*") (pointer_expression "*(code **)param_1[0x27]" (* "*") (cast_expression "(code **)param_1[0x27]" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))))) () ")")) (argument_list "((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (( "(") (cast_expression "(undefined4 *)param_1[0x27]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))) (, ",") (subscript_expression "piVar18[0x1a]" (identifier "piVar18") ([ "[") (number_literal "0x1a") (] "]")) (, ",") (subscript_expression "piVar18[0x1f]" (identifier "piVar18") ([ "[") (number_literal "0x1f") (] "]")) () ")")))) (; ";")) (expression_statement "piVar18[0x22] = iVar3;" (assignment_expression "piVar18[0x22] = iVar3" (subscript_expression "piVar18[0x22]" (identifier "piVar18") ([ "[") (number_literal "0x22") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "FUN_00037704(param_4,&local_54,piVar18 + 0x21);" (call_expression "FUN_00037704(param_4,&local_54,piVar18 + 0x21)" (identifier "FUN_00037704") (argument_list "(param_4,&local_54,piVar18 + 0x21)" (( "(") (identifier "param_4") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (binary_expression "piVar18 + 0x21" (identifier "piVar18") (+ "+") (number_literal "0x21")) () ")"))) (; ";")) (if_statement "if (local_54 != 0) {\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }" (if "if") (parenthesized_expression "(local_54 != 0)" (( "(") (binary_expression "local_54 != 0" (identifier "local_54") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);\n                piVar18[0x1c] = iVar3;\n                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);\n                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);\n                piVar18[0x23] = iVar3;\n                if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }\n                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;\n                goto LAB_0004361c;\n              }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);" (assignment_expression "iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" (( "(") (pointer_expression "*(code *)PTR_safemalloc_000b2408" (* "*") (cast_expression "(code *)PTR_safemalloc_000b2408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safemalloc_000b2408"))) () ")")) (argument_list "(piVar18[0x21],1)" (( "(") (subscript_expression "piVar18[0x21]" (identifier "piVar18") ([ "[") (number_literal "0x21") (] "]")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "piVar18[0x1c] = iVar3;" (assignment_expression "piVar18[0x1c] = iVar3" (subscript_expression "piVar18[0x1c]" (identifier "piVar18") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);" (call_expression "(*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21])" (parenthesized_expression "(*(code *)PTR_memcpy_000b2f08)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000b2f08" (* "*") (cast_expression "(code *)PTR_memcpy_000b2f08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000b2f08"))) () ")")) (argument_list "(iVar3,local_54,piVar18[0x21])" (( "(") (identifier "iVar3") (, ",") (identifier "local_54") (, ",") (subscript_expression "piVar18[0x21]" (identifier "piVar18") ([ "[") (number_literal "0x21") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21])" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21])" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_newkey_000b2994)" (( "(") (pointer_expression "*(code *)PTR_ssh_rsakex_newkey_000b2994" (* "*") (cast_expression "(code *)PTR_ssh_rsakex_newkey_000b2994" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_rsakex_newkey_000b2994"))) () ")")) (argument_list "(piVar18[0x1c],piVar18[0x21])" (( "(") (subscript_expression "piVar18[0x1c]" (identifier "piVar18") ([ "[") (number_literal "0x1c") (] "]")) (, ",") (subscript_expression "piVar18[0x21]" (identifier "piVar18") ([ "[") (number_literal "0x21") (] "]")) () ")")))) (; ";")) (expression_statement "piVar18[0x23] = iVar3;" (assignment_expression "piVar18[0x23] = iVar3" (subscript_expression "piVar18[0x23]" (identifier "piVar18") ([ "[") (number_literal "0x23") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 != 0) {\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);\n                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);\n                  iVar16 = 0x800;\n                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }\n                  if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }\n                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);\n                  if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }\n                  iVar16 = bn_power_2(uVar4 - 1);\n                  piVar18[0xb] = iVar16;\n                  local_80 = 0;\n                  uVar21 = 0;\n                  do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);\n                  iVar16 = iVar3 + 7 >> 3;\n                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);\n                  iVar3 = local_54 + 4;\n                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);\n                  *puVar8 = local_54._0_1_;\n                  puVar15 = PTR_memcpy_000b2f08;\n                  puVar8[1] = (char)(local_54 >> 0x10);\n                  puVar8[2] = (char)(local_54 >> 8);\n                  puVar8[3] = (char)local_54;\n                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);\n                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);\n                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);\n                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);\n                  piVar18[0x4f] = (int)puVar19;\n                  local_30 = 0;\n                  FUN_0003aef4(puVar19,&local_30,4);\n                  iVar3 = piVar18[0x4f];\n                  puVar19[6] = *puVar19;\n                  FUN_0003b124(iVar3,uVar17,iVar16);\n                  FUN_00046280(param_1,piVar18[0x4f]);\n                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);\n                  (*(code *)PTR_safefree_000b23d0)(puVar8);\n                  (*(code *)PTR_safefree_000b23d0)(uVar22);\n                  (*(code *)PTR_safefree_000b23d0)(uVar17);\n                  piVar14 = (int *)piVar18[0x23];\n                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();\n                  goto LAB_00045644;\n                }" ({ "{") (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21]);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21])" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],\n                               piVar18[0x21])" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[0x1c]" (identifier "piVar18") ([ "[") (number_literal "0x1c") (] "]")) (, ",") (subscript_expression "piVar18[0x21]" (identifier "piVar18") ([ "[") (number_literal "0x21") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23])" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23])" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_klen_000b2998)" (( "(") (pointer_expression "*(code *)PTR_ssh_rsakex_klen_000b2998" (* "*") (cast_expression "(code *)PTR_ssh_rsakex_klen_000b2998" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_rsakex_klen_000b2998"))) () ")")) (argument_list "(piVar18[0x23])" (( "(") (subscript_expression "piVar18[0x23]" (identifier "piVar18") ([ "[") (number_literal "0x23") (] "]")) () ")")))) (; ";")) (expression_statement "iVar16 = 0x800;" (assignment_expression "iVar16 = 0x800" (identifier "iVar16") (= "=") (number_literal "0x800")) (; ";")) (if_statement "if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {\n                    iVar16 = 0x400;\n                  }" (if "if") (parenthesized_expression "((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c)" (( "(") (binary_expression "(undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c" (cast_expression "(undefined *)param_1[0x26]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (== "==") (identifier "PTR_ssh_rsa_kex_sha1_000b299c")) () ")")) (compound_statement "{\n                    iVar16 = 0x400;\n                  }" ({ "{") (expression_statement "iVar16 = 0x400;" (assignment_expression "iVar16 = 0x400" (identifier "iVar16") (= "=") (number_literal "0x400")) (; ";")) (} "}"))) (if_statement "if (iVar3 < iVar16) {\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }" (if "if") (parenthesized_expression "(iVar3 < iVar16)" (( "(") (binary_expression "iVar3 < iVar16" (identifier "iVar3") (< "<") (identifier "iVar16")) () ")")) (compound_statement "{\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);\n                    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);\n                    goto LAB_00043628;\n                  }" ({ "{") (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(piVar18[0x1c])" (( "(") (subscript_expression "piVar18[0x1c]" (identifier "piVar18") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26]);" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26])" (identifier "uVar22") (= "=") (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26])" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" (( "(") (pointer_expression "*(code *)PTR_dupprintf_000b2404" (* "*") (cast_expression "(code *)PTR_dupprintf_000b2404" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupprintf_000b2404"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,\n                                        *(undefined4 *)param_1[0x26])" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5e20" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5e20")) (, ",") (identifier "iVar3") (, ",") (identifier "iVar16") (, ",") (pointer_expression "*(undefined4 *)param_1[0x26]" (* "*") (cast_expression "(undefined4 *)param_1[0x26]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")))) () ")")))) (; ";")) (goto_statement "goto LAB_00043628;" (goto "goto") (statement_identifier "LAB_00043628") (; ";")) (} "}"))) (expression_statement "uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31);" (assignment_expression "uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31)" (identifier "uVar4") (= "=") (binary_expression "iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31)" (identifier "iVar3") (- "-") (parenthesized_expression "(*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31)" (( "(") (binary_expression "*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10 + 0x31" (binary_expression "*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *\n                                   0x10" (pointer_expression "*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14)" (* "*") (cast_expression "(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14)" (( "(") (binary_expression "*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)((undefined *)param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)((undefined *)param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((undefined *)param_1[0x26] + 0xc)" (( "(") (binary_expression "(undefined *)param_1[0x26] + 0xc" (cast_expression "(undefined *)param_1[0x26]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (* "*") (number_literal "0x10")) (+ "+") (number_literal "0x31")) () ")")))) (; ";")) (if_statement "if ((int)uVar4 < 1) {\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }" (if "if") (parenthesized_expression "((int)uVar4 < 1)" (( "(") (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                    (*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n                    return;\n                  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" (* "*") (cast_expression "(code *)PTR___assert_fail_000b2d2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000b2d2c"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5e70,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,\n                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5e70" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5e70")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x35c0")) (, ",") (number_literal "0x1c61") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x7e6c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar16 = bn_power_2(uVar4 - 1);" (assignment_expression "iVar16 = bn_power_2(uVar4 - 1)" (identifier "iVar16") (= "=") (call_expression "bn_power_2(uVar4 - 1)" (identifier "bn_power_2") (argument_list "(uVar4 - 1)" (( "(") (binary_expression "uVar4 - 1" (identifier "uVar4") (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar18[0xb] = iVar16;" (assignment_expression "piVar18[0xb] = iVar16" (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  } while (uVar4 != uVar20);" (do "do") (compound_statement "{\n                    if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }\n                    uVar20 = uVar21 + 1;\n                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);\n                    uVar21 = uVar20;\n                  }" ({ "{") (if_statement "if ((uVar21 & 7) == 0) {\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }" (if "if") (parenthesized_expression "((uVar21 & 7) == 0)" (( "(") (binary_expression "(uVar21 & 7) == 0" (parenthesized_expression "(uVar21 & 7)" (( "(") (binary_expression "uVar21 & 7" (identifier "uVar21") (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      local_80 = (*(code *)PTR_random_byte_000b28d4)();\n                    }" ({ "{") (expression_statement "local_80 = (*(code *)PTR_random_byte_000b28d4)();" (assignment_expression "local_80 = (*(code *)PTR_random_byte_000b28d4)()" (identifier "local_80") (= "=") (call_expression "(*(code *)PTR_random_byte_000b28d4)()" (parenthesized_expression "(*(code *)PTR_random_byte_000b28d4)" (( "(") (pointer_expression "*(code *)PTR_random_byte_000b28d4" (* "*") (cast_expression "(code *)PTR_random_byte_000b28d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_random_byte_000b28d4"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar20 = uVar21 + 1;" (assignment_expression "uVar20 = uVar21 + 1" (identifier "uVar20") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);" (call_expression "bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1)" (identifier "bignum_set_bit") (argument_list "(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1)" (( "(") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (, ",") (identifier "uVar21") (, ",") (binary_expression "local_80 >> (uVar21 & 7) & 1" (binary_expression "local_80 >> (uVar21 & 7)" (identifier "local_80") (>> ">>") (parenthesized_expression "(uVar21 & 7)" (( "(") (binary_expression "uVar21 & 7" (identifier "uVar21") (& "&") (number_literal "7")) () ")"))) (& "&") (number_literal "1")) () ")"))) (; ";")) (expression_statement "uVar21 = uVar20;" (assignment_expression "uVar21 = uVar20" (identifier "uVar21") (= "=") (identifier "uVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar4 != uVar20)" (( "(") (binary_expression "uVar4 != uVar20" (identifier "uVar4") (!= "!=") (identifier "uVar20")) () ")")) (; ";")) (expression_statement "iVar16 = iVar3 + 7 >> 3;" (assignment_expression "iVar16 = iVar3 + 7 >> 3" (identifier "iVar16") (= "=") (binary_expression "iVar3 + 7 >> 3" (binary_expression "iVar3 + 7" (identifier "iVar3") (+ "+") (number_literal "7")) (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);" (assignment_expression "uVar22 = FUN_00037c0c(piVar18[0xb],&local_54)" (identifier "uVar22") (= "=") (call_expression "FUN_00037c0c(piVar18[0xb],&local_54)" (identifier "FUN_00037c0c") (argument_list "(piVar18[0xb],&local_54)" (( "(") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (expression_statement "iVar3 = local_54 + 4;" (assignment_expression "iVar3 = local_54 + 4" (identifier "iVar3") (= "=") (binary_expression "local_54 + 4" (identifier "local_54") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);" (assignment_expression "puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1)" (identifier "puVar8") (= "=") (cast_expression "(undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_safemalloc_000b2408)(iVar3,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" (( "(") (pointer_expression "*(code *)PTR_safemalloc_000b2408" (* "*") (cast_expression "(code *)PTR_safemalloc_000b2408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safemalloc_000b2408"))) () ")")) (argument_list "(iVar3,1)" (( "(") (identifier "iVar3") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "*puVar8 = local_54._0_1_;" (assignment_expression "*puVar8 = local_54._0_1_" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (field_expression "local_54._0_1_" (identifier "local_54") (. ".") (field_identifier "_0_1_"))) (; ";")) (expression_statement "puVar15 = PTR_memcpy_000b2f08;" (assignment_expression "puVar15 = PTR_memcpy_000b2f08" (identifier "puVar15") (= "=") (identifier "PTR_memcpy_000b2f08")) (; ";")) (expression_statement "puVar8[1] = (char)(local_54 >> 0x10);" (assignment_expression "puVar8[1] = (char)(local_54 >> 0x10)" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char)(local_54 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(local_54 >> 0x10)" (( "(") (binary_expression "local_54 >> 0x10" (identifier "local_54") (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "puVar8[2] = (char)(local_54 >> 8);" (assignment_expression "puVar8[2] = (char)(local_54 >> 8)" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(char)(local_54 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(local_54 >> 8)" (( "(") (binary_expression "local_54 >> 8" (identifier "local_54") (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "puVar8[3] = (char)local_54;" (assignment_expression "puVar8[3] = (char)local_54" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(char)local_54" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_54"))) (; ";")) (expression_statement "(*(code *)puVar15)(puVar8 + 4,uVar22,local_54);" (call_expression "(*(code *)puVar15)(puVar8 + 4,uVar22,local_54)" (parenthesized_expression "(*(code *)puVar15)" (( "(") (pointer_expression "*(code *)puVar15" (* "*") (cast_expression "(code *)puVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) () ")")) (argument_list "(puVar8 + 4,uVar22,local_54)" (( "(") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4")) (, ",") (identifier "uVar22") (, ",") (identifier "local_54") () ")"))) (; ";")) (expression_statement "uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);" (assignment_expression "uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1)" (identifier "uVar17") (= "=") (call_expression "(*(code *)PTR_safemalloc_000b2408)(iVar16,1)" (parenthesized_expression "(*(code *)PTR_safemalloc_000b2408)" (( "(") (pointer_expression "*(code *)PTR_safemalloc_000b2408" (* "*") (cast_expression "(code *)PTR_safemalloc_000b2408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safemalloc_000b2408"))) () ")")) (argument_list "(iVar16,1)" (( "(") (identifier "iVar16") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23]);" (call_expression "(*(code *)PTR_ssh_rsakex_encrypt_000b29ec)\n                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23])" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_encrypt_000b29ec)" (( "(") (pointer_expression "*(code *)PTR_ssh_rsakex_encrypt_000b29ec" (* "*") (cast_expression "(code *)PTR_ssh_rsakex_encrypt_000b29ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_rsakex_encrypt_000b29ec"))) () ")")) (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,\n                             piVar18[0x23])" (( "(") (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "puVar8") (, ",") (identifier "iVar3") (, ",") (identifier "uVar17") (, ",") (identifier "iVar16") (, ",") (subscript_expression "piVar18[0x23]" (identifier "piVar18") ([ "[") (number_literal "0x23") (] "]")) () ")"))) (; ";")) (expression_statement "puVar19 = (undefined4 *)FUN_0003b04c(0x1f);" (assignment_expression "puVar19 = (undefined4 *)FUN_0003b04c(0x1f)" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)FUN_0003b04c(0x1f)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003b04c(0x1f)" (identifier "FUN_0003b04c") (argument_list "(0x1f)" (( "(") (number_literal "0x1f") () ")"))))) (; ";")) (expression_statement "piVar18[0x4f] = (int)puVar19;" (assignment_expression "piVar18[0x4f] = (int)puVar19" (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19"))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" (identifier "FUN_0003aef4") (argument_list "(puVar19,&local_30,4)" (( "(") (identifier "puVar19") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar3 = piVar18[0x4f];" (assignment_expression "iVar3 = piVar18[0x4f]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]"))) (; ";")) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" (identifier "puVar19") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (; ";")) (expression_statement "FUN_0003b124(iVar3,uVar17,iVar16);" (call_expression "FUN_0003b124(iVar3,uVar17,iVar16)" (identifier "FUN_0003b124") (argument_list "(iVar3,uVar17,iVar16)" (( "(") (identifier "iVar3") (, ",") (identifier "uVar17") (, ",") (identifier "iVar16") () ")"))) (; ";")) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" (identifier "FUN_00046280") (argument_list "(param_1,piVar18[0x4f])" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16)" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "uVar17") (, ",") (identifier "iVar16") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(puVar8);" (call_expression "(*(code *)PTR_safefree_000b23d0)(puVar8)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(puVar8)" (( "(") (identifier "puVar8") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar17);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar17)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(uVar17)" (( "(") (identifier "uVar17") () ")"))) (; ";")) (expression_statement "piVar14 = (int *)piVar18[0x23];" (assignment_expression "piVar14 = (int *)piVar18[0x23]" (identifier "piVar14") (= "=") (cast_expression "(int *)piVar18[0x23]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x23]" (identifier "piVar18") ([ "[") (number_literal "0x23") (] "]")))) (; ";")) (expression_statement "(*(code *)PTR_ssh_rsakex_freekey_000b29f0)();" (call_expression "(*(code *)PTR_ssh_rsakex_freekey_000b29f0)()" (parenthesized_expression "(*(code *)PTR_ssh_rsakex_freekey_000b29f0)" (( "(") (pointer_expression "*(code *)PTR_ssh_rsakex_freekey_000b29f0" (* "*") (cast_expression "(code *)PTR_ssh_rsakex_freekey_000b29f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_rsakex_freekey_000b29f0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00045644;" (goto "goto") (statement_identifier "LAB_00045644") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1c])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(piVar18[0x1c])" (( "(") (subscript_expression "piVar18[0x1c]" (identifier "piVar18") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5df4" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5df4"))) (; ";")) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5dcc" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5dcc"))) (; ";")) (} "}")) (else_clause "else {\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }" (else "else") (compound_statement "{\n            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;\n          }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5da0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5da0"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (labeled_statement "LAB_000451dc:\n        *piVar18 = 0x1c2a;" (statement_identifier "LAB_000451dc") (: ":") (expression_statement "*piVar18 = 0x1c2a;" (assignment_expression "*piVar18 = 0x1c2a" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1c2a")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (if_statement "if (iVar3 != 0x1b96) goto LAB_00042f14;" (if "if") (parenthesized_expression "(iVar3 != 0x1b96)" (( "(") (binary_expression "iVar3 != 0x1b96" (identifier "iVar3") (!= "!=") (number_literal "0x1b96")) () ")")) (goto_statement "goto LAB_00042f14;" (goto "goto") (statement_identifier "LAB_00042f14") (; ";"))) (if_statement "if (param_4 == (int *)0x0) goto LAB_00043e9c;" (if "if") (parenthesized_expression "(param_4 == (int *)0x0)" (( "(") (binary_expression "param_4 == (int *)0x0" (identifier "param_4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00043e9c;" (goto "goto") (statement_identifier "LAB_00043e9c") (; ";"))) (if_statement "if (param_4[2] != piVar18[0xf]) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }" (if "if") (parenthesized_expression "(param_4[2] != piVar18[0xf])" (( "(") (binary_expression "param_4[2] != piVar18[0xf]" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (!= "!=") (subscript_expression "piVar18[0xf]" (identifier "piVar18") ([ "[") (number_literal "0xf") (] "]"))) () ")")) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;\n        goto LAB_0004361c;\n      }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5bd8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5bd8"))) (; ";")) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);" (call_expression "(*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2)" (parenthesized_expression "(*(code *)PTR_set_busy_status_000b296c)" (( "(") (pointer_expression "*(code *)PTR_set_busy_status_000b296c" (* "*") (cast_expression "(code *)PTR_set_busy_status_000b296c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_busy_status_000b296c"))) () ")")) (argument_list "(param_1[0x44],2)" (( "(") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);" (call_expression "FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" (identifier "FUN_00037704") (argument_list "(param_4,piVar18 + 0x1a,piVar18 + 0x1f)" (( "(") (identifier "param_4") (, ",") (binary_expression "piVar18 + 0x1a" (identifier "piVar18") (+ "+") (number_literal "0x1a")) (, ",") (binary_expression "piVar18 + 0x1f" (identifier "piVar18") (+ "+") (number_literal "0x1f")) () ")"))) (; ";")) (if_statement "if (piVar18[0x1a] == 0) {\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }" (if "if") (parenthesized_expression "(piVar18[0x1a] == 0)" (( "(") (binary_expression "piVar18[0x1a] == 0" (subscript_expression "piVar18[0x1a]" (identifier "piVar18") ([ "[") (number_literal "0x1a") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;\n        goto LAB_0004361c;\n      }" ({ "{") (labeled_statement "LAB_000459b4:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;" (statement_identifier "LAB_000459b4") (: ":") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c08" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5c08"))) (; ";"))) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (expression_statement "iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);" (assignment_expression "iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (identifier "iVar3") (= "=") (call_expression "(**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (parenthesized_expression "(**(code **)param_1[0x27])" (( "(") (pointer_expression "**(code **)param_1[0x27]" (* "*") (pointer_expression "*(code **)param_1[0x27]" (* "*") (cast_expression "(code **)param_1[0x27]" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))))) () ")")) (argument_list "((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f])" (( "(") (cast_expression "(undefined4 *)param_1[0x27]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))) (, ",") (subscript_expression "piVar18[0x1a]" (identifier "piVar18") ([ "[") (number_literal "0x1a") (] "]")) (, ",") (subscript_expression "piVar18[0x1f]" (identifier "piVar18") ([ "[") (number_literal "0x1f") (] "]")) () ")")))) (; ";")) (expression_statement "piVar18[0x22] = iVar3;" (assignment_expression "piVar18[0x22] = iVar3" (subscript_expression "piVar18[0x22]" (identifier "piVar18") ([ "[") (number_literal "0x22") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar3 = FUN_00037b74(param_4);" (assignment_expression "iVar3 = FUN_00037b74(param_4)" (identifier "iVar3") (= "=") (call_expression "FUN_00037b74(param_4)" (identifier "FUN_00037b74") (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "piVar18[10] = iVar3;" (assignment_expression "piVar18[10] = iVar3" (subscript_expression "piVar18[10]" (identifier "piVar18") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))\n      goto LAB_000459b4;" (if "if") (parenthesized_expression "((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))" (( "(") (binary_expression "(iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0)" (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0)" (( "(") (comma_expression "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0" (call_expression "FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20)" (identifier "FUN_00037704") (argument_list "(param_4,piVar18 + 0x1b,piVar18 + 0x20)" (( "(") (identifier "param_4") (, ",") (binary_expression "piVar18 + 0x1b" (identifier "piVar18") (+ "+") (number_literal "0x1b")) (, ",") (binary_expression "piVar18 + 0x20" (identifier "piVar18") (+ "+") (number_literal "0x20")) () ")"))) (, ",") (binary_expression "piVar18[0x1b] == 0" (subscript_expression "piVar18[0x1b]" (identifier "piVar18") ([ "[") (number_literal "0x1b") (] "]")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000459b4;" (goto "goto") (statement_identifier "LAB_000459b4") (; ";"))) (expression_statement "iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);" (assignment_expression "iVar3 = dh_validate_f(param_1[0x3a],piVar18[10])" (identifier "iVar3") (= "=") (call_expression "dh_validate_f(param_1[0x3a],piVar18[10])" (identifier "dh_validate_f") (argument_list "(param_1[0x3a],piVar18[10])" (( "(") (subscript_expression "param_1[0x3a]" (identifier "param_1") ([ "[") (number_literal "0x3a") (] "]")) (, ",") (subscript_expression "piVar18[10]" (identifier "piVar18") ([ "[") (number_literal "10") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);\n        puVar15 = PTR_set_busy_status_000b296c;\n        iVar16 = param_1[0x44];\n        piVar18[0xb] = iVar3;\n        (*(code *)puVar15)(iVar16,0);\n        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }\n        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);\n        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);\n        dh_cleanup(param_1[0x3a]);\n        freebn(piVar18[10]);\n        iVar3 = dh_is_gex(param_1[0x26]);\n        if (iVar3 == 0) goto LAB_0004446c;\n        freebn(piVar18[8]);\n        freebn(piVar18[7]);\n        iVar3 = param_1[0x26];\n        goto LAB_00044470;\n      }" ({ "{") (expression_statement "iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);" (assignment_expression "iVar3 = dh_find_K(param_1[0x3a],piVar18[10])" (identifier "iVar3") (= "=") (call_expression "dh_find_K(param_1[0x3a],piVar18[10])" (identifier "dh_find_K") (argument_list "(param_1[0x3a],piVar18[10])" (( "(") (subscript_expression "param_1[0x3a]" (identifier "param_1") ([ "[") (number_literal "0x3a") (] "]")) (, ",") (subscript_expression "piVar18[10]" (identifier "piVar18") ([ "[") (number_literal "10") (] "]")) () ")")))) (; ";")) (expression_statement "puVar15 = PTR_set_busy_status_000b296c;" (assignment_expression "puVar15 = PTR_set_busy_status_000b296c" (identifier "puVar15") (= "=") (identifier "PTR_set_busy_status_000b296c")) (; ";")) (expression_statement "iVar16 = param_1[0x44];" (assignment_expression "iVar16 = param_1[0x44]" (identifier "iVar16") (= "=") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]"))) (; ";")) (expression_statement "piVar18[0xb] = iVar3;" (assignment_expression "piVar18[0xb] = iVar3" (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "(*(code *)puVar15)(iVar16,0);" (call_expression "(*(code *)puVar15)(iVar16,0)" (parenthesized_expression "(*(code *)puVar15)" (( "(") (pointer_expression "*(code *)puVar15" (* "*") (cast_expression "(code *)puVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) () ")")) (argument_list "(iVar16,0)" (( "(") (identifier "iVar16") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[0x1a]" (identifier "piVar18") ([ "[") (number_literal "0x1a") (] "]")) (, ",") (subscript_expression "piVar18[0x1f]" (identifier "piVar18") ([ "[") (number_literal "0x1f") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = dh_is_gex(param_1[0x26]);" (assignment_expression "iVar3 = dh_is_gex(param_1[0x26])" (identifier "iVar3") (= "=") (call_expression "dh_is_gex(param_1[0x26])" (identifier "dh_is_gex") (argument_list "(param_1[0x26])" (( "(") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n          iVar3 = param_1[0x26];\n        }\n        else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar3 = param_1[0x26];\n        }" ({ "{") (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }" (else "else") (compound_statement "{\n          iVar3 = param_1[3];\n          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }\n          local_30 = piVar18[2];\n          (*pcVar28)(iVar3,&local_30,4);\n          if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);\n          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);\n          iVar3 = param_1[0x26];\n        }" ({ "{") (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" (identifier "iVar3") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);" (assignment_expression "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" (* "*") (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }" (if "if") (parenthesized_expression "((param_1[0x14] & 0x1000U) == 0)" (( "(") (binary_expression "(param_1[0x14] & 0x1000U) == 0" (parenthesized_expression "(param_1[0x14] & 0x1000U)" (( "(") (binary_expression "param_1[0x14] & 0x1000U" (subscript_expression "param_1[0x14]" (identifier "param_1") ([ "[") (number_literal "0x14") (] "]")) (& "&") (number_literal "0x1000U")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_30 = 0x400;\n            (*pcVar28)(iVar3,&local_30,4);\n            iVar3 = param_1[3];\n            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);\n          }" ({ "{") (expression_statement "local_30 = 0x400;" (assignment_expression "local_30 = 0x400" (identifier "local_30") (= "=") (number_literal "0x400")) (; ";")) (expression_statement "(*pcVar28)(iVar3,&local_30,4);" (call_expression "(*pcVar28)(iVar3,&local_30,4)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(iVar3,&local_30,4)" (( "(") (identifier "iVar3") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" (identifier "iVar3") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);" (assignment_expression "pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" (* "*") (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "local_30 = piVar18[2];" (assignment_expression "local_30 = piVar18[2]" (identifier "local_30") (= "=") (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "(*pcVar28)(iVar3,&local_30,4);" (call_expression "(*pcVar28)(iVar3,&local_30,4)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(iVar3,&local_30,4)" (( "(") (identifier "iVar3") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (if_statement "if ((param_1[0x14] & 0x1000U) == 0) {\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }" (if "if") (parenthesized_expression "((param_1[0x14] & 0x1000U) == 0)" (( "(") (binary_expression "(param_1[0x14] & 0x1000U) == 0" (parenthesized_expression "(param_1[0x14] & 0x1000U)" (( "(") (binary_expression "param_1[0x14] & 0x1000U" (subscript_expression "param_1[0x14]" (identifier "param_1") ([ "[") (number_literal "0x14") (] "]")) (& "&") (number_literal "0x1000U")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_30 = 0x2000;\n            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);\n          }" ({ "{") (expression_statement "local_30 = 0x2000;" (assignment_expression "local_30 = 0x2000" (identifier "local_30") (= "=") (number_literal "0x2000")) (; ";")) (expression_statement "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);" (call_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4)" (parenthesized_expression "(**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))" (( "(") (pointer_expression "**(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" (* "*") (pointer_expression "*(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" (* "*") (cast_expression "(code **)(*(int *)(param_1[0x26] + 0xc) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(param_1[3],&local_30,4)" (( "(") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);" (call_expression "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7])" (identifier "FUN_0003a270") (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7])" (( "(") (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[7]" (identifier "piVar18") ([ "[") (number_literal "7") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);" (call_expression "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8])" (identifier "FUN_0003a270") (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8])" (( "(") (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[8]" (identifier "piVar18") ([ "[") (number_literal "8") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (; ";")) (} "}")))) (expression_statement "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);" (call_expression "FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9])" (identifier "FUN_0003a270") (argument_list "(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9])" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[9]" (identifier "piVar18") ([ "[") (number_literal "9") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);" (call_expression "FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10])" (identifier "FUN_0003a270") (argument_list "(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10])" (( "(") (pointer_expression "*(undefined4 *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[10]" (identifier "piVar18") ([ "[") (number_literal "10") (] "]")) () ")"))) (; ";")) (expression_statement "dh_cleanup(param_1[0x3a]);" (call_expression "dh_cleanup(param_1[0x3a])" (identifier "dh_cleanup") (argument_list "(param_1[0x3a])" (( "(") (subscript_expression "param_1[0x3a]" (identifier "param_1") ([ "[") (number_literal "0x3a") (] "]")) () ")"))) (; ";")) (expression_statement "freebn(piVar18[10]);" (call_expression "freebn(piVar18[10])" (identifier "freebn") (argument_list "(piVar18[10])" (( "(") (subscript_expression "piVar18[10]" (identifier "piVar18") ([ "[") (number_literal "10") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = dh_is_gex(param_1[0x26]);" (assignment_expression "iVar3 = dh_is_gex(param_1[0x26])" (identifier "iVar3") (= "=") (call_expression "dh_is_gex(param_1[0x26])" (identifier "dh_is_gex") (argument_list "(param_1[0x26])" (( "(") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_0004446c;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004446c;" (goto "goto") (statement_identifier "LAB_0004446c") (; ";"))) (expression_statement "freebn(piVar18[8]);" (call_expression "freebn(piVar18[8])" (identifier "freebn") (argument_list "(piVar18[8])" (( "(") (subscript_expression "piVar18[8]" (identifier "piVar18") ([ "[") (number_literal "8") (] "]")) () ")"))) (; ";")) (expression_statement "freebn(piVar18[7]);" (call_expression "freebn(piVar18[7])" (identifier "freebn") (argument_list "(piVar18[7])" (( "(") (subscript_expression "piVar18[7]" (identifier "piVar18") ([ "[") (number_literal "7") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (; ";")) (goto_statement "goto LAB_00044470;" (goto "goto") (statement_identifier "LAB_00044470") (; ";")) (} "}"))) (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3)" (identifier "uVar22") (= "=") (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3)" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" (( "(") (pointer_expression "*(code *)PTR_dupprintf_000b2404" (* "*") (cast_expression "(code *)PTR_dupprintf_000b2404" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupprintf_000b2404"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c34" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5c34")) (, ",") (identifier "iVar3") () ")")))) (; ";")) (goto_statement "goto LAB_00043628;" (goto "goto") (statement_identifier "LAB_00043628") (; ";")) (} "}"))) (if_statement "if (iVar3 == 0x1aff) {\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0x1aff)" (( "(") (binary_expression "iVar3 == 0x1aff" (identifier "iVar3") (== "==") (number_literal "0x1aff")) () ")")) (compound_statement "{\n      if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00044370:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }\nLAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }\nLAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }\nLAB_000435a8:\n      param_4 = (int *)piVar18[0x52];\njoined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      iVar3 = param_1[0x26];\n      if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }\n      if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }\n      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));\n      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;\n      param_1[0x61] = 3;\n      iVar3 = (*(code *)puVar15)(param_1[0x26]);\n      piVar18[0x24] = iVar3;\n      if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }\n      goto LAB_0004361c;\n    }" ({ "{") (if_statement "if (param_4 != (int *)0x0) {\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;\n        goto LAB_0004361c;\n      }" ({ "{") (labeled_statement "LAB_00043614:\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;" (statement_identifier "LAB_00043614") (: ":") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a44" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5a44"))) (; ";"))) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" (identifier "piVar14") (= "=") (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_s_acket_from_server___s_000b23a8"))) (; ";")) (if_statement "if (0 < param_3) {\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" (if "if") (parenthesized_expression "(0 < param_3)" (( "(") (binary_expression "0 < param_3" (number_literal "0") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\nLAB_00043d00:\n        *piVar18 = 0x1aff;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" ({ "{") (labeled_statement "LAB_00043d00:\n        *piVar18 = 0x1aff;" (statement_identifier "LAB_00043d00") (: ":") (expression_statement "*piVar18 = 0x1aff;" (assignment_expression "*piVar18 = 0x1aff" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1aff")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (subscript_expression "param_1[0x97]" (identifier "param_1") ([ "[") (number_literal "0x97") (] "]"))) (; ";")) (labeled_statement "LAB_00044370:\n      piVar14 = (int *)param_1[4];" (statement_identifier "LAB_00044370") (: ":") (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (if_statement "if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,0)" (( "(") (identifier "piVar14") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }" (if "if") (parenthesized_expression "(piVar18[0x50] == 0)" (( "(") (binary_expression "piVar18[0x50] == 0" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;\n        goto LAB_00045800;\n      }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5aac" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5aac"))) (; ";")) (goto_statement "goto LAB_00045800;" (goto "goto") (statement_identifier "LAB_00045800") (; ";")) (} "}"))) (labeled_statement "LAB_000443a0:\n      if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }" (statement_identifier "LAB_000443a0") (: ":") (if_statement "if (piVar18[5] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }" (if "if") (parenthesized_expression "(piVar18[5] != 0)" (( "(") (binary_expression "piVar18[5] != 0" (subscript_expression "piVar18[5]" (identifier "piVar18") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_000434e0;\n      }" ({ "{") (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar6 = PTR_askalg_000b2974;" (assignment_expression "puVar6 = PTR_askalg_000b2974" (identifier "puVar6") (= "=") (identifier "PTR_askalg_000b2974")) (; ";")) (expression_statement "uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);" (assignment_expression "uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)(piVar18[0x12] + 0x20)" (* "*") (cast_expression "(undefined4 *)(piVar18[0x12] + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar18[0x12] + 0x20)" (( "(") (binary_expression "piVar18[0x12] + 0x20" (subscript_expression "piVar18[0x12]" (identifier "piVar18") ([ "[") (number_literal "0x12") (] "]")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[0x44]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")))) (; ";")) (expression_statement "puVar5 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar5 = PTR_LAB_000b28f8 + -0xf58" (identifier "puVar5") (= "=") (binary_expression "PTR_LAB_000b28f8 + -0xf58" (identifier "PTR_LAB_000b28f8") (+ "+") (number_literal "-0xf58"))) (; ";")) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1)" (parenthesized_expression "(*(code *)puVar6)" (( "(") (pointer_expression "*(code *)puVar6" (* "*") (cast_expression "(code *)puVar6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) () ")")) (argument_list "(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1)" (( "(") (identifier "piVar14") (, ",") (binary_expression "puVar15 + 0x58b0" (identifier "puVar15") (+ "+") (number_literal "0x58b0")) (, ",") (identifier "uVar22") (, ",") (identifier "puVar5") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 < 0) {\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004440c:\n          *piVar18 = 0x1b18;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" ({ "{") (labeled_statement "LAB_0004440c:\n          *piVar18 = 0x1b18;" (statement_identifier "LAB_0004440c") (: ":") (expression_statement "*piVar18 = 0x1b18;" (assignment_expression "*piVar18 = 0x1b18" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1b18")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (goto_statement "goto LAB_000434e0;" (goto "goto") (statement_identifier "LAB_000434e0") (; ";")) (} "}")))) (labeled_statement "LAB_00043510:\n      if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }" (statement_identifier "LAB_00043510") (: ":") (if_statement "if (piVar18[6] != 0) {\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }" (if "if") (parenthesized_expression "(piVar18[6] != 0)" (( "(") (binary_expression "piVar18[6] != 0" (subscript_expression "piVar18[6]" (identifier "piVar18") ([ "[") (number_literal "6") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }\n        puVar6 = PTR_askalg_000b2974;\n        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);\n        piVar14 = (int *)param_1[0x44];\n        puVar5 = PTR_LAB_000b28f8 + -0xf58;\n        param_1[0x98] = 1;\n        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);\n        piVar18[0x50] = iVar3;\n        if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }\n        goto LAB_00043578;\n      }" ({ "{") (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,1);\n        }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar6 = PTR_askalg_000b2974;" (assignment_expression "puVar6 = PTR_askalg_000b2974" (identifier "puVar6") (= "=") (identifier "PTR_askalg_000b2974")) (; ";")) (expression_statement "uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);" (assignment_expression "uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)(piVar18[0x13] + 0x20)" (* "*") (cast_expression "(undefined4 *)(piVar18[0x13] + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar18[0x13] + 0x20)" (( "(") (binary_expression "piVar18[0x13] + 0x20" (subscript_expression "piVar18[0x13]" (identifier "piVar18") ([ "[") (number_literal "0x13") (] "]")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[0x44]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")))) (; ";")) (expression_statement "puVar5 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar5 = PTR_LAB_000b28f8 + -0xf58" (identifier "puVar5") (= "=") (binary_expression "PTR_LAB_000b28f8 + -0xf58" (identifier "PTR_LAB_000b28f8") (+ "+") (number_literal "-0xf58"))) (; ";")) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1)" (parenthesized_expression "(*(code *)puVar6)" (( "(") (pointer_expression "*(code *)puVar6" (* "*") (cast_expression "(code *)puVar6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) () ")")) (argument_list "(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1)" (( "(") (identifier "piVar14") (, ",") (binary_expression "puVar15 + 0x58c8" (identifier "puVar15") (+ "+") (number_literal "0x58c8")) (, ",") (identifier "uVar22") (, ",") (identifier "puVar5") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 < 0) {\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000454a0:\n          *piVar18 = 0x1b31;\n          param_1 = piVar14;\n          goto LAB_00042f18;\n        }" ({ "{") (labeled_statement "LAB_000454a0:\n          *piVar18 = 0x1b31;" (statement_identifier "LAB_000454a0") (: ":") (expression_statement "*piVar18 = 0x1b31;" (assignment_expression "*piVar18 = 0x1b31" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1b31")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (goto_statement "goto LAB_00043578;" (goto "goto") (statement_identifier "LAB_00043578") (; ";")) (} "}")))) (labeled_statement "LAB_000435a8:\n      param_4 = (int *)piVar18[0x52];" (statement_identifier "LAB_000435a8") (: ":") (expression_statement "param_4 = (int *)piVar18[0x52];" (assignment_expression "param_4 = (int *)piVar18[0x52]" (identifier "param_4") (= "=") (cast_expression "(int *)piVar18[0x52]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x52]" (identifier "piVar18") ([ "[") (number_literal "0x52") (] "]")))) (; ";"))) (labeled_statement "joined_r0x0004422c:\n      if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" (statement_identifier "joined_r0x0004422c") (: ":") (if_statement "if (param_4 == (int *)0x0) {\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" (if "if") (parenthesized_expression "(param_4 == (int *)0x0)" (( "(") (binary_expression "param_4 == (int *)0x0" (identifier "param_4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *piVar18 = 0x1b43;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" ({ "{") (expression_statement "*piVar18 = 0x1b43;" (assignment_expression "*piVar18 = 0x1b43" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1b43")) (; ";")) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}")))) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (; ";")) (if_statement "if (*(int *)(iVar3 + 8) == 0) {\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 8) == 0" (pointer_expression "*(int *)(iVar3 + 8)" (* "*") (cast_expression "(int *)(iVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar16 = 0;\n        if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }\n        local_80 = 0;\n        if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }\n        if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }\n        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;\n        if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }\n        piVar18[1] = local_80;\n        iVar3 = dh_is_gex();\n        if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }\n        (*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);\n        iVar16 = piVar18[1];\n        param_1[0x61] = 2;\n        iVar3 = iVar16 + -1;\n        if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }\n        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);\n        if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }\n        if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }\n        FUN_00046280(param_1,piVar18[0x4f]);\n        piVar14 = param_1;\n        goto LAB_00044348;\n      }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar18[0x12] != 0) {\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }" (if "if") (parenthesized_expression "(piVar18[0x12] != 0)" (( "(") (binary_expression "piVar18[0x12] != 0" (subscript_expression "piVar18[0x12]" (identifier "piVar18") ([ "[") (number_literal "0x12") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar16 = *(int *)(piVar18[0x12] + 0x28);\n        }" ({ "{") (expression_statement "iVar16 = *(int *)(piVar18[0x12] + 0x28);" (assignment_expression "iVar16 = *(int *)(piVar18[0x12] + 0x28)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(piVar18[0x12] + 0x28)" (* "*") (cast_expression "(int *)(piVar18[0x12] + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar18[0x12] + 0x28)" (( "(") (binary_expression "piVar18[0x12] + 0x28" (subscript_expression "piVar18[0x12]" (identifier "piVar18") ([ "[") (number_literal "0x12") (] "]")) (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (} "}"))) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar18[0x13] != 0) {\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }" (if "if") (parenthesized_expression "(piVar18[0x13] != 0)" (( "(") (binary_expression "piVar18[0x13] != 0" (subscript_expression "piVar18[0x13]" (identifier "piVar18") ([ "[") (number_literal "0x13") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_80 = *(int *)(piVar18[0x13] + 0x28);\n        }" ({ "{") (expression_statement "local_80 = *(int *)(piVar18[0x13] + 0x28);" (assignment_expression "local_80 = *(int *)(piVar18[0x13] + 0x28)" (identifier "local_80") (= "=") (pointer_expression "*(int *)(piVar18[0x13] + 0x28)" (* "*") (cast_expression "(int *)(piVar18[0x13] + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar18[0x13] + 0x28)" (( "(") (binary_expression "piVar18[0x13] + 0x28" (subscript_expression "piVar18[0x13]" (identifier "piVar18") ([ "[") (number_literal "0x13") (] "]")) (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (local_80 <= iVar16) {\n          local_80 = iVar16;\n        }" (if "if") (parenthesized_expression "(local_80 <= iVar16)" (( "(") (binary_expression "local_80 <= iVar16" (identifier "local_80") (<= "<=") (identifier "iVar16")) () ")")) (compound_statement "{\n          local_80 = iVar16;\n        }" ({ "{") (expression_statement "local_80 = iVar16;" (assignment_expression "local_80 = iVar16" (identifier "local_80") (= "=") (identifier "iVar16")) (; ";")) (} "}"))) (expression_statement "iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;" (assignment_expression "iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3" (identifier "iVar3") (= "=") (binary_expression "*(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3" (pointer_expression "*(int *)(*(int *)(iVar3 + 0xc) + 0x14)" (* "*") (cast_expression "(int *)(*(int *)(iVar3 + 0xc) + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0xc) + 0x14)" (( "(") (binary_expression "*(int *)(iVar3 + 0xc) + 0x14" (pointer_expression "*(int *)(iVar3 + 0xc)" (* "*") (cast_expression "(int *)(iVar3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (<< "<<") (number_literal "3"))) (; ";")) (if_statement "if (iVar3 < local_80) {\n          local_80 = iVar3;\n        }" (if "if") (parenthesized_expression "(iVar3 < local_80)" (( "(") (binary_expression "iVar3 < local_80" (identifier "iVar3") (< "<") (identifier "local_80")) () ")")) (compound_statement "{\n          local_80 = iVar3;\n        }" ({ "{") (expression_statement "local_80 = iVar3;" (assignment_expression "local_80 = iVar3" (identifier "local_80") (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (expression_statement "piVar18[1] = local_80;" (assignment_expression "piVar18[1] = local_80" (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_80")) (; ";")) (expression_statement "iVar3 = dh_is_gex();" (assignment_expression "iVar3 = dh_is_gex()" (identifier "iVar3") (= "=") (call_expression "dh_is_gex()" (identifier "dh_is_gex") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_1[0x61] = 1;\n          iVar3 = dh_setup_group(param_1[0x26]);\n          iVar16 = param_1[0x26];\n          param_1[0x3a] = iVar3;\n          piVar18[0xe] = 0x1e;\n          puVar15 = PTR_s_acket_from_server___s_000b23a8;\n          uVar22 = *(undefined4 *)(iVar16 + 4);\n          piVar18[0xf] = 0x1f;\n          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);\n          goto LAB_00043d90;\n        }" ({ "{") (expression_statement "param_1[0x61] = 1;" (assignment_expression "param_1[0x61] = 1" (subscript_expression "param_1[0x61]" (identifier "param_1") ([ "[") (number_literal "0x61") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar3 = dh_setup_group(param_1[0x26]);" (assignment_expression "iVar3 = dh_setup_group(param_1[0x26])" (identifier "iVar3") (= "=") (call_expression "dh_setup_group(param_1[0x26])" (identifier "dh_setup_group") (argument_list "(param_1[0x26])" (( "(") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) () ")")))) (; ";")) (expression_statement "iVar16 = param_1[0x26];" (assignment_expression "iVar16 = param_1[0x26]" (identifier "iVar16") (= "=") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (; ";")) (expression_statement "param_1[0x3a] = iVar3;" (assignment_expression "param_1[0x3a] = iVar3" (subscript_expression "param_1[0x3a]" (identifier "param_1") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "piVar18[0xe] = 0x1e;" (assignment_expression "piVar18[0xe] = 0x1e" (subscript_expression "piVar18[0xe]" (identifier "piVar18") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0x1e")) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8" (identifier "puVar15") (= "=") (identifier "PTR_s_acket_from_server___s_000b23a8")) (; ";")) (expression_statement "uVar22 = *(undefined4 *)(iVar16 + 4);" (assignment_expression "uVar22 = *(undefined4 *)(iVar16 + 4)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)(iVar16 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 4)" (( "(") (binary_expression "iVar16 + 4" (identifier "iVar16") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "piVar18[0xf] = 0x1f;" (assignment_expression "piVar18[0xf] = 0x1f" (subscript_expression "piVar18[0xf]" (identifier "piVar18") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0x1f")) (; ";")) (expression_statement "FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);" (call_expression "FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22)" (identifier "FUN_00036ce8") (argument_list "(param_1,puVar15 + 0x5b78,uVar22)" (( "(") (identifier "param_1") (, ",") (binary_expression "puVar15 + 0x5b78" (identifier "puVar15") (+ "+") (number_literal "0x5b78")) (, ",") (identifier "uVar22") () ")"))) (; ";")) (goto_statement "goto LAB_00043d90;" (goto "goto") (statement_identifier "LAB_00043d90") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" (( "(") (pointer_expression "*(code *)PTR_logevent_000b242c" (* "*") (cast_expression "(code *)PTR_logevent_000b242c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_logevent_000b242c"))) () ")")) (argument_list "(param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0)" (( "(") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5af0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5af0")) () ")"))) (; ";")) (expression_statement "iVar16 = piVar18[1];" (assignment_expression "iVar16 = piVar18[1]" (identifier "iVar16") (= "=") (subscript_expression "piVar18[1]" (identifier "piVar18") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_1[0x61] = 2;" (assignment_expression "param_1[0x61] = 2" (subscript_expression "param_1[0x61]" (identifier "param_1") ([ "[") (number_literal "0x61") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "iVar3 = iVar16 + -1;" (assignment_expression "iVar3 = iVar16 + -1" (identifier "iVar3") (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar3 < 0) {\n          iVar3 = iVar16 + 0x3e;\n        }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar3 = iVar16 + 0x3e;\n        }" ({ "{") (expression_statement "iVar3 = iVar16 + 0x3e;" (assignment_expression "iVar3 = iVar16 + 0x3e" (identifier "iVar3") (= "=") (binary_expression "iVar16 + 0x3e" (identifier "iVar16") (+ "+") (number_literal "0x3e"))) (; ";")) (} "}"))) (expression_statement "iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);" (assignment_expression "iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU)" (identifier "iVar3") (= "=") (binary_expression "0x200 << (iVar3 >> 6 & 0x1fU)" (number_literal "0x200") (<< "<<") (parenthesized_expression "(iVar3 >> 6 & 0x1fU)" (( "(") (binary_expression "iVar3 >> 6 & 0x1fU" (binary_expression "iVar3 >> 6" (identifier "iVar3") (>> ">>") (number_literal "6")) (& "&") (number_literal "0x1fU")) () ")")))) (; ";")) (if_statement "if (iVar3 < 0x400) {\n          piVar18[2] = 0x400;\n        }\n        else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }" (if "if") (parenthesized_expression "(iVar3 < 0x400)" (( "(") (binary_expression "iVar3 < 0x400" (identifier "iVar3") (< "<") (number_literal "0x400")) () ")")) (compound_statement "{\n          piVar18[2] = 0x400;\n        }" ({ "{") (expression_statement "piVar18[2] = 0x400;" (assignment_expression "piVar18[2] = 0x400" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x400")) (; ";")) (} "}")) (else_clause "else {\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }" (else "else") (compound_statement "{\n          if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }\n          piVar18[2] = iVar3;\n        }" ({ "{") (if_statement "if (0x2000 < iVar3) {\n            iVar3 = 0x2000;\n          }" (if "if") (parenthesized_expression "(0x2000 < iVar3)" (( "(") (binary_expression "0x2000 < iVar3" (number_literal "0x2000") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n            iVar3 = 0x2000;\n          }" ({ "{") (expression_statement "iVar3 = 0x2000;" (assignment_expression "iVar3 = 0x2000" (identifier "iVar3") (= "=") (number_literal "0x2000")) (; ";")) (} "}"))) (expression_statement "piVar18[2] = iVar3;" (assignment_expression "piVar18[2] = iVar3" (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (} "}")))) (if_statement "if ((param_1[0x14] & 0x1000U) == 0) {\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }\n        else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }" (if "if") (parenthesized_expression "((param_1[0x14] & 0x1000U) == 0)" (( "(") (binary_expression "(param_1[0x14] & 0x1000U) == 0" (parenthesized_expression "(param_1[0x14] & 0x1000U)" (( "(") (binary_expression "param_1[0x14] & 0x1000U" (subscript_expression "param_1[0x14]" (identifier "param_1") ([ "[") (number_literal "0x14") (] "]")) (& "&") (number_literal "0x1000U")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar3 = FUN_0003b04c(0x22);\n          piVar18[0x4f] = iVar3;\n          local_30 = 0x400;\n          FUN_0003aef4(iVar3,&local_30,4);\n          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);\n          local_30 = 0x2000;\n          FUN_0003aef4(piVar18[0x4f],&local_30,4);\n        }" ({ "{") (expression_statement "iVar3 = FUN_0003b04c(0x22);" (assignment_expression "iVar3 = FUN_0003b04c(0x22)" (identifier "iVar3") (= "=") (call_expression "FUN_0003b04c(0x22)" (identifier "FUN_0003b04c") (argument_list "(0x22)" (( "(") (number_literal "0x22") () ")")))) (; ";")) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "local_30 = 0x400;" (assignment_expression "local_30 = 0x400" (identifier "local_30") (= "=") (number_literal "0x400")) (; ";")) (expression_statement "FUN_0003aef4(iVar3,&local_30,4);" (call_expression "FUN_0003aef4(iVar3,&local_30,4)" (identifier "FUN_0003aef4") (argument_list "(iVar3,&local_30,4)" (( "(") (identifier "iVar3") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "FUN_0003b1cc(piVar18[0x4f],piVar18[2]);" (call_expression "FUN_0003b1cc(piVar18[0x4f],piVar18[2])" (identifier "FUN_0003b1cc") (argument_list "(piVar18[0x4f],piVar18[2])" (( "(") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (, ",") (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "local_30 = 0x2000;" (assignment_expression "local_30 = 0x2000" (identifier "local_30") (= "=") (number_literal "0x2000")) (; ";")) (expression_statement "FUN_0003aef4(piVar18[0x4f],&local_30,4);" (call_expression "FUN_0003aef4(piVar18[0x4f],&local_30,4)" (identifier "FUN_0003aef4") (argument_list "(piVar18[0x4f],&local_30,4)" (( "(") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }" (else "else") (compound_statement "{\n          iVar3 = FUN_0003b04c(0x1e);\n          piVar18[0x4f] = iVar3;\n          FUN_0003b1cc(iVar3,piVar18[2]);\n        }" ({ "{") (expression_statement "iVar3 = FUN_0003b04c(0x1e);" (assignment_expression "iVar3 = FUN_0003b04c(0x1e)" (identifier "iVar3") (= "=") (call_expression "FUN_0003b04c(0x1e)" (identifier "FUN_0003b04c") (argument_list "(0x1e)" (( "(") (number_literal "0x1e") () ")")))) (; ";")) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "FUN_0003b1cc(iVar3,piVar18[2]);" (call_expression "FUN_0003b1cc(iVar3,piVar18[2])" (identifier "FUN_0003b1cc") (argument_list "(iVar3,piVar18[2])" (( "(") (identifier "iVar3") (, ",") (subscript_expression "piVar18[2]" (identifier "piVar18") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" (identifier "FUN_00046280") (argument_list "(param_1,piVar18[0x4f])" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) () ")"))) (; ";")) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" (identifier "piVar14") (= "=") (identifier "param_1")) (; ";")) (goto_statement "goto LAB_00044348;" (goto "goto") (statement_identifier "LAB_00044348") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar3 + 8) != 2) {\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 8) != 2)" (( "(") (binary_expression "*(int *)(iVar3 + 8) != 2" (pointer_expression "*(int *)(iVar3 + 8)" (* "*") (cast_expression "(int *)(iVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n        piVar14 = param_1;\n        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));\n        param_1[0x61] = 4;\n        goto LAB_000451dc;\n      }" ({ "{") (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" (identifier "piVar14") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18))" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,\n                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18))" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5d7c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5d7c")) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 0xc) + 0x18)" (( "(") (binary_expression "*(int *)(iVar3 + 0xc) + 0x18" (pointer_expression "*(int *)(iVar3 + 0xc)" (* "*") (cast_expression "(int *)(iVar3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) () ")"))) (; ";")) (expression_statement "param_1[0x61] = 4;" (assignment_expression "param_1[0x61] = 4" (subscript_expression "param_1[0x61]" (identifier "param_1") ([ "[") (number_literal "0x61") (] "]")) (= "=") (number_literal "4")) (; ";")) (goto_statement "goto LAB_000451dc;" (goto "goto") (statement_identifier "LAB_000451dc") (; ";")) (} "}"))) (expression_statement "uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();" (assignment_expression "uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)()" (identifier "uVar22") (= "=") (call_expression "(*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)()" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)" (( "(") (pointer_expression "*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0" (* "*") (cast_expression "(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_ecdhkex_curve_textname_000b29c0"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,\n                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18))" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c60" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5c60")) (, ",") (identifier "uVar22") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x18)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x18" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x18")) () ")")))) () ")"))) (; ";")) (expression_statement "puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;" (assignment_expression "puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4" (identifier "puVar15") (= "=") (identifier "PTR_ssh_ecdhkex_newkey_000b29c4")) (; ";")) (expression_statement "param_1[0x61] = 3;" (assignment_expression "param_1[0x61] = 3" (subscript_expression "param_1[0x61]" (identifier "param_1") ([ "[") (number_literal "0x61") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar15)(param_1[0x26]);" (assignment_expression "iVar3 = (*(code *)puVar15)(param_1[0x26])" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar15)(param_1[0x26])" (parenthesized_expression "(*(code *)puVar15)" (( "(") (pointer_expression "*(code *)puVar15" (* "*") (cast_expression "(code *)puVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) () ")")) (argument_list "(param_1[0x26])" (( "(") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) () ")")))) (; ";")) (expression_statement "piVar18[0x24] = iVar3;" (assignment_expression "piVar18[0x24] = iVar3" (subscript_expression "piVar18[0x24]" (identifier "piVar18") ([ "[") (number_literal "0x24") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }\n      else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;\n      }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5c94" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5c94"))) (; ";")) (} "}")) (else_clause "else {\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }" (else "else") (compound_statement "{\n        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);\n        if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }\n        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;\n      }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);" (assignment_expression "iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54)" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)" (( "(") (pointer_expression "*(code *)PTR_ssh_ecdhkex_getpublic_000b298c" (* "*") (cast_expression "(code *)PTR_ssh_ecdhkex_getpublic_000b298c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_ecdhkex_getpublic_000b298c"))) () ")")) (argument_list "(iVar3,&local_54)" (( "(") (identifier "iVar3") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);\n          piVar18[0x4f] = (int)puVar19;\n          local_30 = 0;\n          FUN_0003aef4(puVar19,&local_30,4);\n          iVar16 = piVar18[0x4f];\n          puVar19[6] = *puVar19;\n          FUN_0003b124(iVar16,iVar3,local_54);\n          (*(code *)PTR_safefree_000b23d0)(iVar3);\n          FUN_00046280(param_1,piVar18[0x4f]);\n          piVar14 = param_1;\n          goto LAB_00044a00;\n        }" ({ "{") (expression_statement "puVar19 = (undefined4 *)FUN_0003b04c(0x1e);" (assignment_expression "puVar19 = (undefined4 *)FUN_0003b04c(0x1e)" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)FUN_0003b04c(0x1e)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003b04c(0x1e)" (identifier "FUN_0003b04c") (argument_list "(0x1e)" (( "(") (number_literal "0x1e") () ")"))))) (; ";")) (expression_statement "piVar18[0x4f] = (int)puVar19;" (assignment_expression "piVar18[0x4f] = (int)puVar19" (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19"))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" (identifier "FUN_0003aef4") (argument_list "(puVar19,&local_30,4)" (( "(") (identifier "puVar19") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar16 = piVar18[0x4f];" (assignment_expression "iVar16 = piVar18[0x4f]" (identifier "iVar16") (= "=") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]"))) (; ";")) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" (identifier "puVar19") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (; ";")) (expression_statement "FUN_0003b124(iVar16,iVar3,local_54);" (call_expression "FUN_0003b124(iVar16,iVar3,local_54)" (identifier "FUN_0003b124") (argument_list "(iVar16,iVar3,local_54)" (( "(") (identifier "iVar16") (, ",") (identifier "iVar3") (, ",") (identifier "local_54") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" (identifier "FUN_00046280") (argument_list "(param_1,piVar18[0x4f])" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) () ")"))) (; ";")) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" (identifier "piVar14") (= "=") (identifier "param_1")) (; ";")) (goto_statement "goto LAB_00044a00;" (goto "goto") (statement_identifier "LAB_00044a00") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);" (call_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24])" (parenthesized_expression "(*(code *)PTR_ssh_ecdhkex_freekey_000b2988)" (( "(") (pointer_expression "*(code *)PTR_ssh_ecdhkex_freekey_000b2988" (* "*") (cast_expression "(code *)PTR_ssh_ecdhkex_freekey_000b2988" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_ecdhkex_freekey_000b2988"))) () ")")) (argument_list "(piVar18[0x24])" (( "(") (subscript_expression "piVar18[0x24]" (identifier "piVar18") ([ "[") (number_literal "0x24") (] "]")) () ")"))) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5cb4" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5cb4"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (if_statement "if (0x1aff < iVar3) {\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }" (if "if") (parenthesized_expression "(0x1aff < iVar3)" (( "(") (binary_expression "0x1aff < iVar3" (number_literal "0x1aff") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n      if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;\n      goto LAB_00045800;\n    }" ({ "{") (if_statement "if (iVar3 == 0x1b31) {\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }\n      else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0x1b31)" (( "(") (binary_expression "iVar3 == 0x1b31" (identifier "iVar3") (== "==") (number_literal "0x1b31")) () ")")) (compound_statement "{\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_000454a0;\n        piVar18[0x50] = param_1[0x97];\nLAB_00043578:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_000435a8;\n      }" ({ "{") (if_statement "if (param_4 != (int *)0x0) goto LAB_00043614;" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00043614;" (goto "goto") (statement_identifier "LAB_00043614") (; ";"))) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" (identifier "piVar14") (= "=") (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_s_acket_from_server___s_000b23a8"))) (; ";")) (if_statement "if (0 < param_3) goto LAB_000454a0;" (if "if") (parenthesized_expression "(0 < param_3)" (( "(") (binary_expression "0 < param_3" (number_literal "0") (< "<") (identifier "param_3")) () ")")) (goto_statement "goto LAB_000454a0;" (goto "goto") (statement_identifier "LAB_000454a0") (; ";"))) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (subscript_expression "param_1[0x97]" (identifier "param_1") ([ "[") (number_literal "0x97") (] "]"))) (; ";")) (labeled_statement "LAB_00043578:\n        piVar14 = (int *)param_1[4];" (statement_identifier "LAB_00043578") (: ":") (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,0)" (( "(") (identifier "piVar14") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar18[0x50] != 0) goto LAB_000435a8;" (if "if") (parenthesized_expression "(piVar18[0x50] != 0)" (( "(") (binary_expression "piVar18[0x50] != 0" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000435a8;" (goto "goto") (statement_identifier "LAB_000435a8") (; ";"))) (} "}")) (else_clause "else {\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }" (else "else") (compound_statement "{\n        if (iVar3 == 0x1b43) goto joined_r0x0004422c;\n        if (iVar3 != 0x1b18) goto LAB_00042f14;\n        if (param_4 != (int *)0x0) goto LAB_00043614;\n        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n        if (0 < param_3) goto LAB_0004440c;\n        piVar18[0x50] = param_1[0x97];\nLAB_000434e0:\n        piVar14 = (int *)param_1[4];\n        if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }\n        param_1[0x98] = 0;\n        if (piVar18[0x50] != 0) goto LAB_00043510;\n      }" ({ "{") (if_statement "if (iVar3 == 0x1b43) goto joined_r0x0004422c;" (if "if") (parenthesized_expression "(iVar3 == 0x1b43)" (( "(") (binary_expression "iVar3 == 0x1b43" (identifier "iVar3") (== "==") (number_literal "0x1b43")) () ")")) (goto_statement "goto joined_r0x0004422c;" (goto "goto") (statement_identifier "joined_r0x0004422c") (; ";"))) (if_statement "if (iVar3 != 0x1b18) goto LAB_00042f14;" (if "if") (parenthesized_expression "(iVar3 != 0x1b18)" (( "(") (binary_expression "iVar3 != 0x1b18" (identifier "iVar3") (!= "!=") (number_literal "0x1b18")) () ")")) (goto_statement "goto LAB_00042f14;" (goto "goto") (statement_identifier "LAB_00042f14") (; ";"))) (if_statement "if (param_4 != (int *)0x0) goto LAB_00043614;" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00043614;" (goto "goto") (statement_identifier "LAB_00043614") (; ";"))) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" (identifier "piVar14") (= "=") (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_s_acket_from_server___s_000b23a8"))) (; ";")) (if_statement "if (0 < param_3) goto LAB_0004440c;" (if "if") (parenthesized_expression "(0 < param_3)" (( "(") (binary_expression "0 < param_3" (number_literal "0") (< "<") (identifier "param_3")) () ")")) (goto_statement "goto LAB_0004440c;" (goto "goto") (statement_identifier "LAB_0004440c") (; ";"))) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (subscript_expression "param_1[0x97]" (identifier "param_1") ([ "[") (number_literal "0x97") (] "]"))) (; ";")) (labeled_statement "LAB_000434e0:\n        piVar14 = (int *)param_1[4];" (statement_identifier "LAB_000434e0") (: ":") (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (if_statement "if (piVar14 != (int *)0x0) {\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (**(code **)(*piVar14 + 0x18))(piVar14,0);\n        }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,0)" (( "(") (identifier "piVar14") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar18[0x50] != 0) goto LAB_00043510;" (if "if") (parenthesized_expression "(piVar18[0x50] != 0)" (( "(") (binary_expression "piVar18[0x50] != 0" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00043510;" (goto "goto") (statement_identifier "LAB_00043510") (; ";"))) (} "}")))) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5ad0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5ad0"))) (; ";")) (goto_statement "goto LAB_00045800;" (goto "goto") (statement_identifier "LAB_00045800") (; ";")) (} "}"))) (if_statement "if (iVar3 == 0x1a26) {\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0x1a26)" (( "(") (binary_expression "iVar3 == 0x1a26" (identifier "iVar3") (== "==") (number_literal "0x1a26")) () ")")) (compound_statement "{\nLAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;\n      if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }\n      goto LAB_0004361c;\n    }" ({ "{") (labeled_statement "LAB_000439fc:\n      puVar6 = PTR_DAT_000b2398;" (statement_identifier "LAB_000439fc") (: ":") (expression_statement "puVar6 = PTR_DAT_000b2398;" (assignment_expression "puVar6 = PTR_DAT_000b2398" (identifier "puVar6") (= "=") (identifier "PTR_DAT_000b2398")) (; ";"))) (if_statement "if (local_8c == (int *)0x0) {\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" (if "if") (parenthesized_expression "(local_8c == (int *)0x0)" (( "(") (binary_expression "local_8c == (int *)0x0" (identifier "local_8c") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *piVar18 = 0x1a26;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" ({ "{") (expression_statement "*piVar18 = 0x1a26;" (assignment_expression "*piVar18 = 0x1a26" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1a26")) (; ";")) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (if_statement "if (local_8c[2] == 0x14) {\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }" (if "if") (parenthesized_expression "(local_8c[2] == 0x14)" (( "(") (binary_expression "local_8c[2] == 0x14" (subscript_expression "local_8c[2]" (identifier "local_8c") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\n        local_6c = 0xfffffffa;\n        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);\n        iVar3 = local_8c[6];\n        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);\n        param_1[0x26] = 0;\n        puVar5 = PTR_LAB_000b2894;\n        param_1[0x27] = 0;\n        local_74 = 0;\n        piVar18[0x12] = 0;\n        piVar18[0x13] = 0;\n        piVar18[0x14] = 0;\n        piVar18[0x15] = 0;\n        piVar18[0x18] = 0;\n        piVar18[0x19] = 0;\n        piVar18[4] = 0;\n        piVar18[3] = 0;\n        piVar18[6] = 0;\n        piVar18[5] = 0;\n        local_8c[6] = iVar3 + 0x10;\n        piVar18[0x51] = 0;\n        local_68 = piVar18;\n        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;\n      }" ({ "{") (expression_statement "local_6c = 0xfffffffa;" (assignment_expression "local_6c = 0xfffffffa" (identifier "local_6c") (= "=") (number_literal "0xfffffffa")) (; ";")) (expression_statement "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704)" (identifier "pcVar28") (= "=") (cast_expression "(code *)(PTR_LAB_000b2760 + 0x7704)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000b2760 + 0x7704)" (( "(") (binary_expression "PTR_LAB_000b2760 + 0x7704" (identifier "PTR_LAB_000b2760") (+ "+") (number_literal "0x7704")) () ")")))) (; ";")) (expression_statement "iVar3 = local_8c[6];" (assignment_expression "iVar3 = local_8c[6]" (identifier "iVar3") (= "=") (subscript_expression "local_8c[6]" (identifier "local_8c") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4)" (identifier "pcVar10") (= "=") (cast_expression "(code *)(PTR_LAB_000b2894 + -0x26e4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000b2894 + -0x26e4)" (( "(") (binary_expression "PTR_LAB_000b2894 + -0x26e4" (identifier "PTR_LAB_000b2894") (+ "+") (number_literal "-0x26e4")) () ")")))) (; ";")) (expression_statement "param_1[0x26] = 0;" (assignment_expression "param_1[0x26] = 0" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = PTR_LAB_000b2894;" (assignment_expression "puVar5 = PTR_LAB_000b2894" (identifier "puVar5") (= "=") (identifier "PTR_LAB_000b2894")) (; ";")) (expression_statement "param_1[0x27] = 0;" (assignment_expression "param_1[0x27] = 0" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x12] = 0;" (assignment_expression "piVar18[0x12] = 0" (subscript_expression "piVar18[0x12]" (identifier "piVar18") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x13] = 0;" (assignment_expression "piVar18[0x13] = 0" (subscript_expression "piVar18[0x13]" (identifier "piVar18") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x14] = 0;" (assignment_expression "piVar18[0x14] = 0" (subscript_expression "piVar18[0x14]" (identifier "piVar18") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x15] = 0;" (assignment_expression "piVar18[0x15] = 0" (subscript_expression "piVar18[0x15]" (identifier "piVar18") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x18] = 0;" (assignment_expression "piVar18[0x18] = 0" (subscript_expression "piVar18[0x18]" (identifier "piVar18") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x19] = 0;" (assignment_expression "piVar18[0x19] = 0" (subscript_expression "piVar18[0x19]" (identifier "piVar18") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[4] = 0;" (assignment_expression "piVar18[4] = 0" (subscript_expression "piVar18[4]" (identifier "piVar18") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[3] = 0;" (assignment_expression "piVar18[3] = 0" (subscript_expression "piVar18[3]" (identifier "piVar18") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[6] = 0;" (assignment_expression "piVar18[6] = 0" (subscript_expression "piVar18[6]" (identifier "piVar18") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[5] = 0;" (assignment_expression "piVar18[5] = 0" (subscript_expression "piVar18[5]" (identifier "piVar18") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8c[6] = iVar3 + 0x10;" (assignment_expression "local_8c[6] = iVar3 + 0x10" (subscript_expression "local_8c[6]" (identifier "local_8c") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "piVar18[0x51] = 0;" (assignment_expression "piVar18[0x51] = 0" (subscript_expression "piVar18[0x51]" (identifier "piVar18") ([ "[") (number_literal "0x51") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = piVar18;" (assignment_expression "local_68 = piVar18" (identifier "local_68") (= "=") (identifier "piVar18")) (; ";")) (while_statement "while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0) {\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }" (while "while") (parenthesized_expression "((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0)" (( "(") (comma_expression "(*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0" (call_expression "(*pcVar28)(local_8c,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(local_8c,&local_58,&local_54)" (( "(") (identifier "local_8c") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")"))) (, ",") (comma_expression "uVar4 = local_54, iVar3 = local_58,\n              local_58 != 0" (assignment_expression "uVar4 = local_54" (identifier "uVar4") (= "=") (identifier "local_54")) (, ",") (comma_expression "iVar3 = local_58,\n              local_58 != 0" (assignment_expression "iVar3 = local_58" (identifier "iVar3") (= "=") (identifier "local_58")) (, ",") (binary_expression "local_58 != 0" (identifier "local_58") (!= "!=") (number_literal "0"))))) () ")")) (compound_statement "{\n          if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }\n          local_74 = local_74 + 1;\n          local_68 = local_68 + 0x30;\n          local_6c = local_6c + 1;\n        }" ({ "{") (if_statement "if (local_74 == 4) {\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }\n          else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }" (if "if") (parenthesized_expression "(local_74 == 4)" (( "(") (binary_expression "local_74 == 4" (identifier "local_74") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }\n          }" ({ "{") (if_statement "if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }\n            else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }" (if "if") (parenthesized_expression "((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0))" (( "(") (binary_expression "(piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)" (parenthesized_expression "(piVar18[0x12] == 0)" (( "(") (binary_expression "piVar18[0x12] == 0" (subscript_expression "piVar18[0x12]" (identifier "piVar18") ([ "[") (number_literal "0x12") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)" (( "(") (comma_expression "iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0" (assignment_expression "iVar16 = *(int *)(piVar18[0x12] + 0x38)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(piVar18[0x12] + 0x38)" (* "*") (cast_expression "(int *)(piVar18[0x12] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar18[0x12] + 0x38)" (( "(") (binary_expression "piVar18[0x12] + 0x38" (subscript_expression "piVar18[0x12]" (identifier "piVar18") ([ "[") (number_literal "0x12") (] "]")) (+ "+") (number_literal "0x38")) () ")"))))) (, ",") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_00043b30:\n              iVar16 = 0;\n              piVar14 = local_68;\nLAB_00043b44:\n              iVar12 = piVar14[0x53];\n              if (iVar12 == 0) goto LAB_00043b7c;\n              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);\n              if (iVar7 == 0) goto code_r0x00043b68;\n              if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }\n            }" ({ "{") (labeled_statement "LAB_00043b30:\n              iVar16 = 0;" (statement_identifier "LAB_00043b30") (: ":") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";"))) (expression_statement "piVar14 = local_68;" (assignment_expression "piVar14 = local_68" (identifier "piVar14") (= "=") (identifier "local_68")) (; ";")) (labeled_statement "LAB_00043b44:\n              iVar12 = piVar14[0x53];" (statement_identifier "LAB_00043b44") (: ":") (expression_statement "iVar12 = piVar14[0x53];" (assignment_expression "iVar12 = piVar14[0x53]" (identifier "iVar12") (= "=") (subscript_expression "piVar14[0x53]" (identifier "piVar14") ([ "[") (number_literal "0x53") (] "]"))) (; ";"))) (if_statement "if (iVar12 == 0) goto LAB_00043b7c;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00043b7c;" (goto "goto") (statement_identifier "LAB_00043b7c") (; ";"))) (expression_statement "iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);" (assignment_expression "iVar7 = (*pcVar10)(iVar12,iVar3,uVar4)" (identifier "iVar7") (= "=") (call_expression "(*pcVar10)(iVar12,iVar3,uVar4)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(iVar12,iVar3,uVar4)" (( "(") (identifier "iVar12") (, ",") (identifier "iVar3") (, ",") (identifier "uVar4") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto code_r0x00043b68;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00043b68;" (goto "goto") (statement_identifier "code_r0x00043b68") (; ";"))) (if_statement "if (local_74 < 2) {\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }\n              else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (if "if") (parenthesized_expression "(local_74 < 2)" (( "(") (binary_expression "local_74 < 2" (identifier "local_74") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n                if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }\n                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;\n                if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }\n              }" ({ "{") (if_statement "if ((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {\n                  piVar18[0x51] = 0;\n                }" (if "if") (parenthesized_expression "((iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0))" (( "(") (binary_expression "(iVar16 != 0) ||\n                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)" (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4)" (parenthesized_expression "(*(code *)(puVar5 + -0x27a4))" (( "(") (pointer_expression "*(code *)(puVar5 + -0x27a4)" (* "*") (cast_expression "(code *)(puVar5 + -0x27a4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + -0x27a4)" (( "(") (binary_expression "puVar5 + -0x27a4" (identifier "puVar5") (+ "+") (number_literal "-0x27a4")) () ")")))) () ")")) (argument_list "(iVar12,iVar3,uVar4)" (( "(") (identifier "iVar12") (, ",") (identifier "iVar3") (, ",") (identifier "uVar4") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                  piVar18[0x51] = 0;\n                }" ({ "{") (expression_statement "piVar18[0x51] = 0;" (assignment_expression "piVar18[0x51] = 0" (subscript_expression "piVar18[0x51]" (identifier "piVar18") ([ "[") (number_literal "0x51") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;" (assignment_expression "puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac" (identifier "puVar26") (= "=") (identifier "PTR_ssh_ecdsa_ed25519_000b29ac")) (; ";")) (if_statement "if (local_74 == 0) {\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }\n                else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }" (if "if") (parenthesized_expression "(local_74 == 0)" (( "(") (binary_expression "local_74 == 0" (identifier "local_74") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar3 = piVar18[iVar16 * 3 + 0x55];\n                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];\n                  piVar18[3] = iVar3;\nLAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }\n                }" ({ "{") (expression_statement "iVar3 = piVar18[iVar16 * 3 + 0x55];" (assignment_expression "iVar3 = piVar18[iVar16 * 3 + 0x55]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0x55]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x55" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x55")) (] "]"))) (; ";")) (expression_statement "param_1[0x26] = piVar18[iVar16 * 3 + 0x54];" (assignment_expression "param_1[0x26] = piVar18[iVar16 * 3 + 0x54]" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0x54]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x54" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x54")) (] "]"))) (; ";")) (expression_statement "piVar18[3] = iVar3;" (assignment_expression "piVar18[3] = iVar3" (subscript_expression "piVar18[3]" (identifier "piVar18") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (labeled_statement "LAB_000452b4:\n                  if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" (statement_identifier "LAB_000452b4") (: ":") (if_statement "if (local_74 == 7) {\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" (if "if") (parenthesized_expression "(local_74 == 7)" (( "(") (binary_expression "local_74 == 7" (identifier "local_74") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n                    if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    (*pcVar28)(local_8c,&local_58,&local_54);\n                    iVar3 = local_8c[6];\n                    if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }\n                    iVar3 = param_1[0x26];\n                    piVar18[0x52] = uVar4;\n                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();\n                    iVar16 = param_1[1];\n                    param_1[3] = iVar3;\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);\n                    iVar3 = param_1[2];\n                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);\n                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);\n                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);\n                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);\n                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);\n                    if (piVar18[3] == 0) goto LAB_00043bfc;\n                    piVar14 = (int *)param_1[4];\n                    if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }\n                    puVar6 = PTR_askalg_000b2974;\n                    uVar22 = *(undefined4 *)param_1[0x26];\n                    piVar14 = (int *)param_1[0x44];\n                    puVar26 = PTR_LAB_000b28f8 + -0xf58;\n                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;\n                    param_1[0x98] = 1;\n                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);\n                    piVar18[0x50] = iVar3;\n                    if (iVar3 < 0) goto LAB_00045494;\n                    goto LAB_00043bcc;\n                  }" ({ "{") (if_statement "if (piVar18[0x4c] != 0) {\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }" (if "if") (parenthesized_expression "(piVar18[0x4c] != 0)" (( "(") (binary_expression "piVar18[0x4c] != 0" (subscript_expression "piVar18[0x4c]" (identifier "piVar18") ([ "[") (number_literal "0x4c") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      (*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);\n                    }" ({ "{") (expression_statement "(*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);" (call_expression "(*(code *)PTR_logevent_000b242c)\n                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" (( "(") (pointer_expression "*(code *)PTR_logevent_000b242c" (* "*") (cast_expression "(code *)PTR_logevent_000b242c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_logevent_000b242c"))) () ")")) (argument_list "(param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0)" (( "(") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x59f0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x59f0")) () ")"))) (; ";")) (} "}"))) (expression_statement "(*pcVar28)(local_8c,&local_58,&local_54);" (call_expression "(*pcVar28)(local_8c,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(local_8c,&local_58,&local_54)" (( "(") (identifier "local_8c") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")"))) (; ";")) (expression_statement "(*pcVar28)(local_8c,&local_58,&local_54);" (call_expression "(*pcVar28)(local_8c,&local_58,&local_54)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(local_8c,&local_58,&local_54)" (( "(") (identifier "local_8c") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")"))) (; ";")) (expression_statement "iVar3 = local_8c[6];" (assignment_expression "iVar3 = local_8c[6]" (identifier "iVar3") (= "=") (subscript_expression "local_8c[6]" (identifier "local_8c") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if ((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')) {\n                      uVar4 = 0;\n                    }\n                    else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }" (if "if") (parenthesized_expression "((*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0'))" (( "(") (binary_expression "(*local_8c - iVar3 < 1) ||\n                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')" (parenthesized_expression "(*local_8c - iVar3 < 1)" (( "(") (binary_expression "*local_8c - iVar3 < 1" (binary_expression "*local_8c - iVar3" (pointer_expression "*local_8c" (* "*") (identifier "local_8c")) (- "-") (identifier "iVar3")) (< "<") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0')" (( "(") (comma_expression "cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0'" (assignment_expression "cVar1 = *(char *)(local_8c[5] + iVar3)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(local_8c[5] + iVar3)" (* "*") (cast_expression "(char *)(local_8c[5] + iVar3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_8c[5] + iVar3)" (( "(") (binary_expression "local_8c[5] + iVar3" (subscript_expression "local_8c[5]" (identifier "local_8c") ([ "[") (number_literal "5") (] "]")) (+ "+") (identifier "iVar3")) () ")"))))) (, ",") (comma_expression "local_8c[6] = iVar3 + 1,\n                       cVar1 == '\0'" (assignment_expression "local_8c[6] = iVar3 + 1" (subscript_expression "local_8c[6]" (identifier "local_8c") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (, ",") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))))) () ")"))) () ")")) (compound_statement "{\n                      uVar4 = 0;\n                    }" ({ "{") (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }" (else "else") (compound_statement "{\n                      uVar4 = (uint)(piVar18[0x51] == 0);\n                    }" ({ "{") (expression_statement "uVar4 = (uint)(piVar18[0x51] == 0);" (assignment_expression "uVar4 = (uint)(piVar18[0x51] == 0)" (identifier "uVar4") (= "=") (call_expression "(uint)(piVar18[0x51] == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar18[0x51] == 0)" (( "(") (binary_expression "piVar18[0x51] == 0" (subscript_expression "piVar18[0x51]" (identifier "piVar18") ([ "[") (number_literal "0x51") (] "]")) (== "==") (number_literal "0")) () ")")))) (; ";")) (} "}")))) (expression_statement "iVar3 = param_1[0x26];" (assignment_expression "iVar3 = param_1[0x26]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))) (; ";")) (expression_statement "piVar18[0x52] = uVar4;" (assignment_expression "piVar18[0x52] = uVar4" (subscript_expression "piVar18[0x52]" (identifier "piVar18") ([ "[") (number_literal "0x52") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();" (assignment_expression "iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))()" (identifier "iVar3") (= "=") (call_expression "(*(code *)**(undefined4 **)(iVar3 + 0xc))()" (parenthesized_expression "(*(code *)**(undefined4 **)(iVar3 + 0xc))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(iVar3 + 0xc)" (* "*") (cast_expression "(code *)**(undefined4 **)(iVar3 + 0xc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(iVar3 + 0xc)" (* "*") (pointer_expression "*(undefined4 **)(iVar3 + 0xc)" (* "*") (cast_expression "(undefined4 **)(iVar3 + 0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0xc)" (( "(") (binary_expression "iVar3 + 0xc" (identifier "iVar3") (+ "+") (number_literal "0xc")) () ")"))))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar16 = param_1[1];" (assignment_expression "iVar16 = param_1[1]" (identifier "iVar16") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_1[3] = iVar3;" (assignment_expression "param_1[3] = iVar3" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);" (assignment_expression "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16)" (identifier "uVar22") (= "=") (call_expression "(*(code *)PTR_strlen_000b2e48)(iVar16)" (parenthesized_expression "(*(code *)PTR_strlen_000b2e48)" (( "(") (pointer_expression "*(code *)PTR_strlen_000b2e48" (* "*") (cast_expression "(code *)PTR_strlen_000b2e48" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000b2e48"))) () ")")) (argument_list "(iVar16)" (( "(") (identifier "iVar16") () ")")))) (; ";")) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22)" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (identifier "iVar3") (, ",") (identifier "iVar16") (, ",") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "iVar3 = param_1[2];" (assignment_expression "iVar3 = param_1[2]" (identifier "iVar3") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);" (assignment_expression "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3)" (identifier "uVar22") (= "=") (call_expression "(*(code *)PTR_strlen_000b2e48)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_000b2e48)" (( "(") (pointer_expression "*(code *)PTR_strlen_000b2e48" (* "*") (cast_expression "(code *)PTR_strlen_000b2e48" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000b2e48"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22)" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "iVar3") (, ",") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd]);" (call_expression "FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd])" (identifier "FUN_0003a1bc") (argument_list "(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],\n                                 piVar18[0xd])" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "piVar18[0xc]" (identifier "piVar18") ([ "[") (number_literal "0xc") (] "]")) (, ",") (subscript_expression "piVar18[0xd]" (identifier "piVar18") ([ "[") (number_literal "0xd") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0xc])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(piVar18[0xc])" (( "(") (subscript_expression "piVar18[0xc]" (identifier "piVar18") ([ "[") (number_literal "0xc") (] "]")) () ")"))) (; ";")) (expression_statement "piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);" (assignment_expression "piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8)" (identifier "piVar14") (= "=") (cast_expression "(int *)(*(int *)(param_1[0x26] + 0xc) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 8)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 8" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);" (call_expression "FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1)" (identifier "FUN_0003a1bc") (argument_list "(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1)" (( "(") (identifier "piVar14") (, ",") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (binary_expression "local_8c[5] + -1" (subscript_expression "local_8c[5]" (identifier "local_8c") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "-1")) (, ",") (binary_expression "*local_8c + 1" (pointer_expression "*local_8c" (* "*") (identifier "local_8c")) (+ "+") (number_literal "1")) () ")"))) (; ";")) (if_statement "if (piVar18[3] == 0) goto LAB_00043bfc;" (if "if") (parenthesized_expression "(piVar18[3] == 0)" (( "(") (binary_expression "piVar18[3] == 0" (subscript_expression "piVar18[3]" (identifier "piVar18") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00043bfc;" (goto "goto") (statement_identifier "LAB_00043bfc") (; ";"))) (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (piVar14 != (int *)0x0) {\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n                    }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar6 = PTR_askalg_000b2974;" (assignment_expression "puVar6 = PTR_askalg_000b2974" (identifier "puVar6") (= "=") (identifier "PTR_askalg_000b2974")) (; ";")) (expression_statement "uVar22 = *(undefined4 *)param_1[0x26];" (assignment_expression "uVar22 = *(undefined4 *)param_1[0x26]" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)param_1[0x26]" (* "*") (cast_expression "(undefined4 *)param_1[0x26]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]"))))) (; ";")) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[0x44]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")))) (; ";")) (expression_statement "puVar26 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar26 = PTR_LAB_000b28f8 + -0xf58" (identifier "puVar26") (= "=") (binary_expression "PTR_LAB_000b28f8 + -0xf58" (identifier "PTR_LAB_000b28f8") (+ "+") (number_literal "-0xf58"))) (; ";")) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c" (identifier "puVar5") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a2c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5a2c"))) (; ";")) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);" (assignment_expression "iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1)" (parenthesized_expression "(*(code *)puVar6)" (( "(") (pointer_expression "*(code *)puVar6" (* "*") (cast_expression "(code *)puVar6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) () ")")) (argument_list "(piVar14,puVar5,uVar22,puVar26,param_1)" (( "(") (identifier "piVar14") (, ",") (identifier "puVar5") (, ",") (identifier "uVar22") (, ",") (identifier "puVar26") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 < 0) goto LAB_00045494;" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045494;" (goto "goto") (statement_identifier "LAB_00045494") (; ";"))) (goto_statement "goto LAB_00043bcc;" (goto "goto") (statement_identifier "LAB_00043bcc") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar12 = 0;\n                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);\n                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];\n                  iVar3 = piVar18[iVar16 * 3 + 0x85];\n                  param_1[0x27] = (int)puVar11;\n                  piVar18[4] = iVar3;\n                  param_1[0x1b2] = 0;\n                  while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }\n                }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar19 = (undefined4 *)(puVar6 + 0x1ed8);" (assignment_expression "puVar19 = (undefined4 *)(puVar6 + 0x1ed8)" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)(puVar6 + 0x1ed8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 0x1ed8)" (( "(") (binary_expression "puVar6 + 0x1ed8" (identifier "puVar6") (+ "+") (number_literal "0x1ed8")) () ")")))) (; ";")) (expression_statement "puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];" (assignment_expression "puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84]" (identifier "puVar11") (= "=") (cast_expression "(undefined *)piVar18[iVar16 * 3 + 0x84]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[iVar16 * 3 + 0x84]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x84" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x84")) (] "]")))) (; ";")) (expression_statement "iVar3 = piVar18[iVar16 * 3 + 0x85];" (assignment_expression "iVar3 = piVar18[iVar16 * 3 + 0x85]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0x85]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x85" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x85")) (] "]"))) (; ";")) (expression_statement "param_1[0x27] = (int)puVar11;" (assignment_expression "param_1[0x27] = (int)puVar11" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (= "=") (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11"))) (; ";")) (expression_statement "piVar18[4] = iVar3;" (assignment_expression "piVar18[4] = iVar3" (subscript_expression "piVar18[4]" (identifier "piVar18") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "param_1[0x1b2] = 0;" (assignment_expression "param_1[0x1b2] = 0" (subscript_expression "param_1[0x1b2]" (identifier "param_1") ([ "[") (number_literal "0x1b2") (] "]")) (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                    if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }\n                    iVar12 = iVar12 + 1;\n                    puVar19 = puVar19 + 2;\n                    if (iVar12 == 6) break;\n                    puVar26 = (undefined *)*puVar19;\n                    puVar11 = (undefined *)param_1[0x27];\n                  }" ({ "{") (if_statement "if (((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }" (if "if") (parenthesized_expression "(((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0))" (( "(") (binary_expression "((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)) &&\n                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)" (parenthesized_expression "((puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0))" (( "(") (binary_expression "(puVar11 != puVar26) &&\n                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)" (parenthesized_expression "(puVar11 != puVar26)" (( "(") (binary_expression "puVar11 != puVar26" (identifier "puVar11") (!= "!=") (identifier "puVar26")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0)" (( "(") (comma_expression "iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),\n                        iVar3 != 0" (assignment_expression "iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54)" (identifier "iVar3") (= "=") (call_expression "(*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(undefined4 *)(puVar26 + 0x30),local_58,local_54)" (( "(") (pointer_expression "*(undefined4 *)(puVar26 + 0x30)" (* "*") (cast_expression "(undefined4 *)(puVar26 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x30)" (( "(") (binary_expression "puVar26 + 0x30" (identifier "puVar26") (+ "+") (number_literal "0x30")) () ")")))) (, ",") (identifier "local_58") (, ",") (identifier "local_54") () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34))" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)\n                                          (param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34))" (parenthesized_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)" (( "(") (pointer_expression "*(code *)PTR_have_ssh_host_key_000b29e8" (* "*") (cast_expression "(code *)PTR_have_ssh_host_key_000b29e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_have_ssh_host_key_000b29e8"))) () ")")) (argument_list "(param_1[0x3e],param_1[0x3f],\n                                           *(undefined4 *)(puVar26 + 0x34))" (( "(") (subscript_expression "param_1[0x3e]" (identifier "param_1") ([ "[") (number_literal "0x3e") (] "]")) (, ",") (subscript_expression "param_1[0x3f]" (identifier "param_1") ([ "[") (number_literal "0x3f") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(puVar26 + 0x34)" (* "*") (cast_expression "(undefined4 *)(puVar26 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x34)" (( "(") (binary_expression "puVar26 + 0x34" (identifier "puVar26") (+ "+") (number_literal "0x34")) () ")")))) () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                      iVar3 = param_1[0x1b2];\n                      param_1[0x1b2] = iVar3 + 1;\n                      param_1[iVar3 + 0x1ac] = iVar12;\n                    }" ({ "{") (expression_statement "iVar3 = param_1[0x1b2];" (assignment_expression "iVar3 = param_1[0x1b2]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x1b2]" (identifier "param_1") ([ "[") (number_literal "0x1b2") (] "]"))) (; ";")) (expression_statement "param_1[0x1b2] = iVar3 + 1;" (assignment_expression "param_1[0x1b2] = iVar3 + 1" (subscript_expression "param_1[0x1b2]" (identifier "param_1") ([ "[") (number_literal "0x1b2") (] "]")) (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_1[iVar3 + 0x1ac] = iVar12;" (assignment_expression "param_1[iVar3 + 0x1ac] = iVar12" (subscript_expression "param_1[iVar3 + 0x1ac]" (identifier "param_1") ([ "[") (binary_expression "iVar3 + 0x1ac" (identifier "iVar3") (+ "+") (number_literal "0x1ac")) (] "]")) (= "=") (identifier "iVar12")) (; ";")) (} "}"))) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar19 = puVar19 + 2;" (assignment_expression "puVar19 = puVar19 + 2" (identifier "puVar19") (= "=") (binary_expression "puVar19 + 2" (identifier "puVar19") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (iVar12 == 6) break;" (if "if") (parenthesized_expression "(iVar12 == 6)" (( "(") (binary_expression "iVar12 == 6" (identifier "iVar12") (== "==") (number_literal "6")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar26 = (undefined *)*puVar19;" (assignment_expression "puVar26 = (undefined *)*puVar19" (identifier "puVar26") (= "=") (cast_expression "(undefined *)*puVar19" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "puVar11 = (undefined *)param_1[0x27];" (assignment_expression "puVar11 = (undefined *)param_1[0x27]" (identifier "puVar11") (= "=") (cast_expression "(undefined *)param_1[0x27]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")))) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (else "else") (if_statement "if (local_74 == 2) {\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }\n              else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (if "if") (parenthesized_expression "(local_74 == 2)" (( "(") (binary_expression "local_74 == 2" (identifier "local_74") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];\n                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];\n              }" ({ "{") (expression_statement "piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];" (assignment_expression "piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4]" (subscript_expression "piVar18[0x12]" (identifier "piVar18") ([ "[") (number_literal "0x12") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0xb4]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0xb4" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0xb4")) (] "]"))) (; ";")) (expression_statement "piVar18[5] = piVar18[iVar16 * 3 + 0xb5];" (assignment_expression "piVar18[5] = piVar18[iVar16 * 3 + 0xb5]" (subscript_expression "piVar18[5]" (identifier "piVar18") ([ "[") (number_literal "5") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0xb5]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0xb5" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0xb5")) (] "]"))) (; ";")) (} "}")) (else_clause "else if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (else "else") (if_statement "if (local_74 == 3) {\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }\n              else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (if "if") (parenthesized_expression "(local_74 == 3)" (( "(") (binary_expression "local_74 == 3" (identifier "local_74") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];\n                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];\n              }" ({ "{") (expression_statement "piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];" (assignment_expression "piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4]" (subscript_expression "piVar18[0x13]" (identifier "piVar18") ([ "[") (number_literal "0x13") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0xe4]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0xe4" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0xe4")) (] "]"))) (; ";")) (expression_statement "piVar18[6] = piVar18[iVar16 * 3 + 0xe5];" (assignment_expression "piVar18[6] = piVar18[iVar16 * 3 + 0xe5]" (subscript_expression "piVar18[6]" (identifier "piVar18") ([ "[") (number_literal "6") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0xe5]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0xe5" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0xe5")) (] "]"))) (; ";")) (} "}")) (else_clause "else if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (else "else") (if_statement "if (local_74 == 4) {\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }\n              else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (if "if") (parenthesized_expression "(local_74 == 4)" (( "(") (binary_expression "local_74 == 4" (identifier "local_74") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];\n                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];\n              }" ({ "{") (expression_statement "piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];" (assignment_expression "piVar18[0x14] = piVar18[iVar16 * 3 + 0x114]" (subscript_expression "piVar18[0x14]" (identifier "piVar18") ([ "[") (number_literal "0x14") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0x114]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x114" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x114")) (] "]"))) (; ";")) (expression_statement "piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];" (assignment_expression "piVar18[0x16] = piVar18[iVar16 * 3 + 0x115]" (subscript_expression "piVar18[0x16]" (identifier "piVar18") ([ "[") (number_literal "0x16") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0x115]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x115" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x115")) (] "]"))) (; ";")) (} "}")) (else_clause "else if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (else "else") (if_statement "if (local_74 == 5) {\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }\n              else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (if "if") (parenthesized_expression "(local_74 == 5)" (( "(") (binary_expression "local_74 == 5" (identifier "local_74") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];\n                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];\n              }" ({ "{") (expression_statement "piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];" (assignment_expression "piVar18[0x15] = piVar18[iVar16 * 3 + 0x144]" (subscript_expression "piVar18[0x15]" (identifier "piVar18") ([ "[") (number_literal "0x15") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0x144]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x144" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x144")) (] "]"))) (; ";")) (expression_statement "piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];" (assignment_expression "piVar18[0x17] = piVar18[iVar16 * 3 + 0x145]" (subscript_expression "piVar18[0x17]" (identifier "piVar18") ([ "[") (number_literal "0x17") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0x145]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x145" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x145")) (] "]"))) (; ";")) (} "}")) (else_clause "else {\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" (else "else") (compound_statement "{\n                if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }\n                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];\n              }" ({ "{") (if_statement "if (local_74 != 6) {\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }" (if "if") (parenthesized_expression "(local_74 != 6)" (( "(") (binary_expression "local_74 != 6" (identifier "local_74") (!= "!=") (number_literal "6")) () ")")) (compound_statement "{\n                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];\n                  goto LAB_000452b4;\n                }" ({ "{") (expression_statement "piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];" (assignment_expression "piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4]" (subscript_expression "piVar18[0x19]" (identifier "piVar18") ([ "[") (number_literal "0x19") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0x1a4]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x1a4" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x1a4")) (] "]"))) (; ";")) (goto_statement "goto LAB_000452b4;" (goto "goto") (statement_identifier "LAB_000452b4") (; ";")) (} "}"))) (expression_statement "piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];" (assignment_expression "piVar18[0x18] = piVar18[iVar16 * 3 + 0x174]" (subscript_expression "piVar18[0x18]" (identifier "piVar18") ([ "[") (number_literal "0x18") (] "]")) (= "=") (subscript_expression "piVar18[iVar16 * 3 + 0x174]" (identifier "piVar18") ([ "[") (binary_expression "iVar16 * 3 + 0x174" (binary_expression "iVar16 * 3" (identifier "iVar16") (* "*") (number_literal "3")) (+ "+") (number_literal "0x174")) (] "]"))) (; ";")) (} "}")))))))))))) (} "}")) (else_clause "else {\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }" (else "else") (compound_statement "{\n              iVar3 = *(int *)(iVar16 + 0x28);\n              piVar18[0x14] = iVar16;\n              piVar18[0x16] = (uint)(iVar3 != 0);\n            }" ({ "{") (expression_statement "iVar3 = *(int *)(iVar16 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar16 + 0x28)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar16 + 0x28)" (* "*") (cast_expression "(int *)(iVar16 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x28)" (( "(") (binary_expression "iVar16 + 0x28" (identifier "iVar16") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "piVar18[0x14] = iVar16;" (assignment_expression "piVar18[0x14] = iVar16" (subscript_expression "piVar18[0x14]" (identifier "piVar18") ([ "[") (number_literal "0x14") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "piVar18[0x16] = (uint)(iVar3 != 0);" (assignment_expression "piVar18[0x16] = (uint)(iVar3 != 0)" (subscript_expression "piVar18[0x16]" (identifier "piVar18") ([ "[") (number_literal "0x16") (] "]")) (= "=") (call_expression "(uint)(iVar3 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }" (else "else") (compound_statement "{\n            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;\n            iVar3 = *(int *)(iVar16 + 0x28);\n            piVar18[0x15] = iVar16;\n            piVar18[0x17] = (uint)(iVar3 != 0);\n          }" ({ "{") (if_statement "if (((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;" (if "if") (parenthesized_expression "(((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0))" (( "(") (binary_expression "((local_74 != 5) || (piVar18[0x13] == 0)) ||\n               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)" (parenthesized_expression "((local_74 != 5) || (piVar18[0x13] == 0))" (( "(") (binary_expression "(local_74 != 5) || (piVar18[0x13] == 0)" (parenthesized_expression "(local_74 != 5)" (( "(") (binary_expression "local_74 != 5" (identifier "local_74") (!= "!=") (number_literal "5")) () ")")) (|| "||") (parenthesized_expression "(piVar18[0x13] == 0)" (( "(") (binary_expression "piVar18[0x13] == 0" (subscript_expression "piVar18[0x13]" (identifier "piVar18") ([ "[") (number_literal "0x13") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)" (( "(") (comma_expression "iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0" (assignment_expression "iVar16 = *(int *)(piVar18[0x13] + 0x38)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(piVar18[0x13] + 0x38)" (* "*") (cast_expression "(int *)(piVar18[0x13] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar18[0x13] + 0x38)" (( "(") (binary_expression "piVar18[0x13] + 0x38" (subscript_expression "piVar18[0x13]" (identifier "piVar18") ([ "[") (number_literal "0x13") (] "]")) (+ "+") (number_literal "0x38")) () ")"))))) (, ",") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00043b30;" (goto "goto") (statement_identifier "LAB_00043b30") (; ";"))) (expression_statement "iVar3 = *(int *)(iVar16 + 0x28);" (assignment_expression "iVar3 = *(int *)(iVar16 + 0x28)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(iVar16 + 0x28)" (* "*") (cast_expression "(int *)(iVar16 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x28)" (( "(") (binary_expression "iVar16 + 0x28" (identifier "iVar16") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "piVar18[0x15] = iVar16;" (assignment_expression "piVar18[0x15] = iVar16" (subscript_expression "piVar18[0x15]" (identifier "piVar18") ([ "[") (number_literal "0x15") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "piVar18[0x17] = (uint)(iVar3 != 0);" (assignment_expression "piVar18[0x17] = (uint)(iVar3 != 0)" (subscript_expression "piVar18[0x17]" (identifier "piVar18") ([ "[") (number_literal "0x17") (] "]")) (= "=") (call_expression "(uint)(iVar3 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}")))) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" (identifier "local_74") (= "=") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_68 = local_68 + 0x30;" (assignment_expression "local_68 = local_68 + 0x30" (identifier "local_68") (= "=") (binary_expression "local_68 + 0x30" (identifier "local_68") (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" (identifier "local_6c") (= "=") (binary_expression "local_6c + 1" (identifier "local_6c") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x59a8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x59a8"))) (; ";")) (} "}")) (else_clause "else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }" (else "else") (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;\n      }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x597c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x597c"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (if_statement "if (iVar3 == 0x1abc) {\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0x1abc)" (( "(") (binary_expression "iVar3 == 0x1abc" (identifier "iVar3") (== "==") (number_literal "0x1abc")) () ")")) (compound_statement "{\n      if (param_4 != (int *)0x0) goto LAB_00043614;\n      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;\n      if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }\n      piVar18[0x50] = param_1[0x97];\nLAB_00043bcc:\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }\n      param_1[0x98] = 0;\n      if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }\nLAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;\n      piVar14 = (int *)param_1[4];\n      if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }\n      param_1[0x98] = 1;\n      puVar6 = PTR_DAT_000b2398;\n      if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }\n      if (-1 < iVar3) goto LAB_00044370;\n      goto LAB_00043d00;\n    }" ({ "{") (if_statement "if (param_4 != (int *)0x0) goto LAB_00043614;" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00043614;" (goto "goto") (statement_identifier "LAB_00043614") (; ";"))) (expression_statement "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8" (identifier "piVar14") (= "=") (cast_expression "(int *)PTR_s_acket_from_server___s_000b23a8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_s_acket_from_server___s_000b23a8"))) (; ";")) (if_statement "if (0 < param_3) {\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" (if "if") (parenthesized_expression "(0 < param_3)" (( "(") (binary_expression "0 < param_3" (number_literal "0") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\nLAB_00045494:\n        *piVar18 = 0x1abc;\n        param_1 = piVar14;\n        goto LAB_00042f18;\n      }" ({ "{") (labeled_statement "LAB_00045494:\n        *piVar18 = 0x1abc;" (statement_identifier "LAB_00045494") (: ":") (expression_statement "*piVar18 = 0x1abc;" (assignment_expression "*piVar18 = 0x1abc" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1abc")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (expression_statement "piVar18[0x50] = param_1[0x97];" (assignment_expression "piVar18[0x50] = param_1[0x97]" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (subscript_expression "param_1[0x97]" (identifier "param_1") ([ "[") (number_literal "0x97") (] "]"))) (; ";")) (labeled_statement "LAB_00043bcc:\n      piVar14 = (int *)param_1[4];" (statement_identifier "LAB_00043bcc") (: ":") (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (if_statement "if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(*piVar14 + 0x18))(piVar14,0);\n      }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,0)" (( "(") (identifier "piVar14") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar18[0x50] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }" (if "if") (parenthesized_expression "(piVar18[0x50] == 0)" (( "(") (binary_expression "piVar18[0x50] == 0" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;\n        goto LAB_00045800;\n      }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a80" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5a80"))) (; ";")) (goto_statement "goto LAB_00045800;" (goto "goto") (statement_identifier "LAB_00045800") (; ";")) (} "}"))) (labeled_statement "LAB_00043bfc:\n      if (piVar18[4] == 0) goto LAB_000443a0;" (statement_identifier "LAB_00043bfc") (: ":") (if_statement "if (piVar18[4] == 0) goto LAB_000443a0;" (if "if") (parenthesized_expression "(piVar18[4] == 0)" (( "(") (binary_expression "piVar18[4] == 0" (subscript_expression "piVar18[4]" (identifier "piVar18") ([ "[") (number_literal "4") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000443a0;" (goto "goto") (statement_identifier "LAB_000443a0") (; ";")))) (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (piVar14 != (int *)0x0) {\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(*piVar14 + 0x18))(piVar14,1);\n      }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar6 = PTR_DAT_000b2398;" (assignment_expression "puVar6 = PTR_DAT_000b2398" (identifier "puVar6") (= "=") (identifier "PTR_DAT_000b2398")) (; ";")) (if_statement "if (param_1[0x1b2] < 1) {\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }\n      else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }" (if "if") (parenthesized_expression "(param_1[0x1b2] < 1)" (( "(") (binary_expression "param_1[0x1b2] < 1" (subscript_expression "param_1[0x1b2]" (identifier "param_1") ([ "[") (number_literal "0x1b2") (] "]")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\nLAB_00045b94:\n        piVar14 = piVar23;\n        iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);\n        piVar18[0x50] = iVar3;\n      }" ({ "{") (expression_statement "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);" (assignment_expression "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1[0x27] + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x27] + 0x30)" (( "(") (binary_expression "param_1[0x27] + 0x30" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "piVar23 = (int *)param_1[0x44];" (assignment_expression "piVar23 = (int *)param_1[0x44]" (identifier "piVar23") (= "=") (cast_expression "(int *)param_1[0x44]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")))) (; ";")) (labeled_statement "LAB_00045b94:\n        piVar14 = piVar23;" (statement_identifier "LAB_00045b94") (: ":") (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" (identifier "piVar14") (= "=") (identifier "piVar23")) (; ";"))) (expression_statement "iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_askalg_000b2974)\n                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1)" (parenthesized_expression "(*(code *)PTR_askalg_000b2974)" (( "(") (pointer_expression "*(code *)PTR_askalg_000b2974" (* "*") (cast_expression "(code *)PTR_askalg_000b2974" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_askalg_000b2974"))) () ")")) (argument_list "(piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,\n                           PTR_LAB_000b28f8 + -0xf58,param_1)" (( "(") (identifier "piVar14") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5a9c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5a9c")) (, ",") (identifier "uVar22") (, ",") (binary_expression "PTR_LAB_000b28f8 + -0xf58" (identifier "PTR_LAB_000b28f8") (+ "+") (number_literal "-0xf58")) (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (} "}")) (else_clause "else {\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }" (else "else") (compound_statement "{\n        piVar29 = param_1 + 0x1ac;\n        iVar3 = 0;\n        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n        piVar23 = (int *)0x0;\n        do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);\n        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);\n        piVar23 = (int *)param_1[0x44];\n        if (piVar14 == (int *)0x0) goto LAB_00045b94;\n        iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);\n        puVar6 = PTR_safefree_000b23d0;\n        piVar18[0x50] = iVar3;\n        (*(code *)puVar6)();\n        iVar3 = piVar18[0x50];\n      }" ({ "{") (expression_statement "piVar29 = param_1 + 0x1ac;" (assignment_expression "piVar29 = param_1 + 0x1ac" (identifier "piVar29") (= "=") (binary_expression "param_1 + 0x1ac" (identifier "param_1") (+ "+") (number_literal "0x1ac"))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470" (identifier "puVar5") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x470" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x470"))) (; ";")) (expression_statement "piVar23 = (int *)0x0;" (assignment_expression "piVar23 = (int *)0x0" (identifier "piVar23") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        } while (iVar3 < param_1[0x1b2]);" (do "do") (compound_statement "{\n          iVar16 = *piVar29;\n          iVar12 = 0;\n          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }\n          iVar3 = iVar3 + 1;\n          piVar29 = piVar29 + 1;\n          piVar23 = piVar14;\n        }" ({ "{") (expression_statement "iVar16 = *piVar29;" (assignment_expression "iVar16 = *piVar29" (identifier "iVar16") (= "=") (pointer_expression "*piVar29" (* "*") (identifier "piVar29"))) (; ";")) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (while_statement "while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0) {\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }" (while "while") (parenthesized_expression "(iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0)" (( "(") (comma_expression "iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),\n                piVar14 = piVar23, iVar7 != 0" (assignment_expression "iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" (( "(") (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" (* "*") (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_conf_get_int_int_000b27c4"))) () ")")) (argument_list "(param_1[0x92],0x19,iVar12)" (( "(") (subscript_expression "param_1[0x92]" (identifier "param_1") ([ "[") (number_literal "0x92") (] "]")) (, ",") (number_literal "0x19") (, ",") (identifier "iVar12") () ")")))) (, ",") (comma_expression "piVar14 = piVar23, iVar7 != 0" (assignment_expression "piVar14 = piVar23" (identifier "piVar14") (= "=") (identifier "piVar23")) (, ",") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")))) () ")")) (compound_statement "{\n            iVar12 = iVar12 + 1;\n            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }\n            if (iVar12 == 5) break;\n          }" ({ "{") (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }" (if "if") (parenthesized_expression "(*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7)" (( "(") (binary_expression "*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7" (pointer_expression "*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4)" (* "*") (cast_expression "(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4)" (( "(") (binary_expression "(int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4" (cast_expression "(int)(puVar6 + iVar16 * 8 + 0x1ed8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar6 + iVar16 * 8 + 0x1ed8)" (( "(") (binary_expression "puVar6 + iVar16 * 8 + 0x1ed8" (binary_expression "puVar6 + iVar16 * 8" (identifier "puVar6") (+ "+") (binary_expression "iVar16 * 8" (identifier "iVar16") (* "*") (number_literal "8"))) (+ "+") (number_literal "0x1ed8")) () ")"))) (+ "+") (number_literal "4")) () ")")))) (== "==") (identifier "iVar7")) () ")")) (compound_statement "{\n              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);\n              if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }\n              break;\n            }" ({ "{") (expression_statement "uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);" (assignment_expression "uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30)" (( "(") (binary_expression "*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30" (pointer_expression "*(int *)(puVar6 + iVar16 * 8 + 0x1ed8)" (* "*") (cast_expression "(int *)(puVar6 + iVar16 * 8 + 0x1ed8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + iVar16 * 8 + 0x1ed8)" (( "(") (binary_expression "puVar6 + iVar16 * 8 + 0x1ed8" (binary_expression "puVar6 + iVar16 * 8" (identifier "puVar6") (+ "+") (binary_expression "iVar16 * 8" (identifier "iVar16") (* "*") (number_literal "8"))) (+ "+") (number_literal "0x1ed8")) () ")")))) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (piVar23 == (int *)0x0) {\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }\n              else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }" (if "if") (parenthesized_expression "(piVar23 == (int *)0x0)" (( "(") (binary_expression "piVar23 == (int *)0x0" (identifier "piVar23") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);\n              }" ({ "{") (expression_statement "piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);" (assignment_expression "piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22)" (identifier "piVar14") (= "=") (cast_expression "(int *)(*(code *)PTR_dupstr_000b2410)(uVar22)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_dupstr_000b2410)(uVar22)" (parenthesized_expression "(*(code *)PTR_dupstr_000b2410)" (( "(") (pointer_expression "*(code *)PTR_dupstr_000b2410" (* "*") (cast_expression "(code *)PTR_dupstr_000b2410" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupstr_000b2410"))) () ")")) (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }" (else "else") (compound_statement "{\n                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);\n                (*(code *)PTR_safefree_000b23d0)(piVar23);\n              }" ({ "{") (expression_statement "piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);" (assignment_expression "piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0)" (identifier "piVar14") (= "=") (cast_expression "(int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0)" (parenthesized_expression "(*(code *)PTR_dupcat_000b2414)" (( "(") (pointer_expression "*(code *)PTR_dupcat_000b2414" (* "*") (cast_expression "(code *)PTR_dupcat_000b2414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupcat_000b2414"))) () ")")) (argument_list "(piVar23,puVar5,uVar22,0)" (( "(") (identifier "piVar23") (, ",") (identifier "puVar5") (, ",") (identifier "uVar22") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar23);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar23)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(piVar23)" (( "(") (identifier "piVar23") () ")"))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if (iVar12 == 5) break;" (if "if") (parenthesized_expression "(iVar12 == 5)" (( "(") (binary_expression "iVar12 == 5" (identifier "iVar12") (== "==") (number_literal "5")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar29 = piVar29 + 1;" (assignment_expression "piVar29 = piVar29 + 1" (identifier "piVar29") (= "=") (binary_expression "piVar29 + 1" (identifier "piVar29") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar23 = piVar14;" (assignment_expression "piVar23 = piVar14" (identifier "piVar23") (= "=") (identifier "piVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 < param_1[0x1b2])" (( "(") (binary_expression "iVar3 < param_1[0x1b2]" (identifier "iVar3") (< "<") (subscript_expression "param_1[0x1b2]" (identifier "param_1") ([ "[") (number_literal "0x1b2") (] "]"))) () ")")) (; ";")) (expression_statement "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);" (assignment_expression "uVar22 = *(undefined4 *)(param_1[0x27] + 0x30)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1[0x27] + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x27] + 0x30)" (( "(") (binary_expression "param_1[0x27] + 0x30" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "piVar23 = (int *)param_1[0x44];" (assignment_expression "piVar23 = (int *)param_1[0x44]" (identifier "piVar23") (= "=") (cast_expression "(int *)param_1[0x44]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")))) (; ";")) (if_statement "if (piVar14 == (int *)0x0) goto LAB_00045b94;" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00045b94;" (goto "goto") (statement_identifier "LAB_00045b94") (; ";"))) (expression_statement "iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);" (assignment_expression "iVar3 = (*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_askhk_000b297c)\n                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1)" (parenthesized_expression "(*(code *)PTR_askhk_000b297c)" (( "(") (pointer_expression "*(code *)PTR_askhk_000b297c" (* "*") (cast_expression "(code *)PTR_askhk_000b297c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_askhk_000b297c"))) () ")")) (argument_list "((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1)" (( "(") (cast_expression "(int *)param_1[0x44]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]"))) (, ",") (identifier "uVar22") (, ",") (identifier "piVar14") (, ",") (binary_expression "PTR_LAB_000b28f8 + -0xf58" (identifier "PTR_LAB_000b28f8") (+ "+") (number_literal "-0xf58")) (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "puVar6 = PTR_safefree_000b23d0;" (assignment_expression "puVar6 = PTR_safefree_000b23d0" (identifier "puVar6") (= "=") (identifier "PTR_safefree_000b23d0")) (; ";")) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "(*(code *)puVar6)();" (call_expression "(*(code *)puVar6)()" (parenthesized_expression "(*(code *)puVar6)" (( "(") (pointer_expression "*(code *)puVar6" (* "*") (cast_expression "(code *)puVar6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar3 = piVar18[0x50];" (assignment_expression "iVar3 = piVar18[0x50]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]"))) (; ";")) (} "}")))) (if_statement "if (-1 < iVar3) goto LAB_00044370;" (if "if") (parenthesized_expression "(-1 < iVar3)" (( "(") (binary_expression "-1 < iVar3" (number_literal "-1") (< "<") (identifier "iVar3")) () ")")) (goto_statement "goto LAB_00044370;" (goto "goto") (statement_identifier "LAB_00044370") (; ";"))) (goto_statement "goto LAB_00043d00;" (goto "goto") (statement_identifier "LAB_00043d00") (; ";")) (} "}"))) (if_statement "if (iVar3 == 0) {\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar4 = param_1[0x14];\n      piVar18[0x13] = 0;\n      piVar18[0x12] = 0;\n      piVar18[0x15] = 0;\n      piVar18[0x14] = 0;\n      piVar18[0x19] = 0;\n      piVar18[0x18] = 0;\n      piVar18[0x4e] = 0;\n      piVar18[0x4d] = 0;\n      piVar18[0x4b] = 0;\n      piVar18[0x4c] = 0;\n      if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }\nLAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      param_1[0x61] = 0;\n      piVar18[0x35] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);\n      iVar3 = 0;\n      piVar18[0x3c] = 0;\n      do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;\n      iVar3 = 0;\n      piVar18[0x42] = 0;\n      do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);\n      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);\n      puVar6 = PTR_ssh_zlib_000b2978;\n      if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }\n      piVar18[0x4a] = (int)puVar6;\n      piVar23 = piVar18 + 0x83;\n      param_1[0x59] = 1;\n      param_1[0x1a5] = 1;\n      piVar14 = piVar23;\n      do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);\n      iVar3 = piVar18[0x35];\n      if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }\n      if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }\n      piVar14 = piVar18 + 0x113;\n      iVar3 = piVar18[0x42];\n      piVar23 = piVar18 + 0xb3;\n      do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);\n      iVar3 = piVar18[0x11];\n      do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);\n      puVar26 = PTR_DAT_000b2398 + 0x1240;\n      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;\n      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;\n      piVar14 = piVar18 + 0x173;\n      do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);\n      iVar16 = 0x10;\n      iVar3 = FUN_0003b04c(0x14);\n      piVar18[0x4f] = iVar3;\n      while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }\n      piVar14 = piVar18 + 0x30;\n      piVar23 = (int *)piVar18[0x4f];\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;\n      do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);\n      local_30 = 0;\n      FUN_0003aef4(piVar23,&local_30,4);\n      puVar19 = (undefined4 *)piVar18[0x4f];\n      piVar23[6] = *piVar23;\n      local_30 = 0;\n      FUN_0003aef4(puVar19,&local_30,4);\n      iVar3 = piVar18[0x4f];\n      puVar19[6] = *puVar19;\n      local_54 = local_54 & 0xffffff;\n      FUN_0003aef4(iVar3,&local_54,1);\n      local_30 = 0;\n      FUN_0003aef4(piVar18[0x4f],&local_30,4);\n      puVar6 = PTR_safemalloc_000b2408;\n      iVar3 = *(int *)piVar18[0x4f];\n      piVar18[0xd] = iVar3 + -5;\n      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);\n      piVar18[0xc] = iVar3;\n      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);\n      piVar14 = param_1;\n      FUN_00046280(param_1,piVar18[0x4f]);\n      goto LAB_000439fc;\n    }" ({ "{") (expression_statement "uVar4 = param_1[0x14];" (assignment_expression "uVar4 = param_1[0x14]" (identifier "uVar4") (= "=") (subscript_expression "param_1[0x14]" (identifier "param_1") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (expression_statement "piVar18[0x13] = 0;" (assignment_expression "piVar18[0x13] = 0" (subscript_expression "piVar18[0x13]" (identifier "piVar18") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x12] = 0;" (assignment_expression "piVar18[0x12] = 0" (subscript_expression "piVar18[0x12]" (identifier "piVar18") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x15] = 0;" (assignment_expression "piVar18[0x15] = 0" (subscript_expression "piVar18[0x15]" (identifier "piVar18") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x14] = 0;" (assignment_expression "piVar18[0x14] = 0" (subscript_expression "piVar18[0x14]" (identifier "piVar18") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x19] = 0;" (assignment_expression "piVar18[0x19] = 0" (subscript_expression "piVar18[0x19]" (identifier "piVar18") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x18] = 0;" (assignment_expression "piVar18[0x18] = 0" (subscript_expression "piVar18[0x18]" (identifier "piVar18") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x4e] = 0;" (assignment_expression "piVar18[0x4e] = 0" (subscript_expression "piVar18[0x4e]" (identifier "piVar18") ([ "[") (number_literal "0x4e") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x4d] = 0;" (assignment_expression "piVar18[0x4d] = 0" (subscript_expression "piVar18[0x4d]" (identifier "piVar18") ([ "[") (number_literal "0x4d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x4b] = 0;" (assignment_expression "piVar18[0x4b] = 0" (subscript_expression "piVar18[0x4b]" (identifier "piVar18") ([ "[") (number_literal "0x4b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x4c] = 0;" (assignment_expression "piVar18[0x4c] = 0" (subscript_expression "piVar18[0x4c]" (identifier "piVar18") ([ "[") (number_literal "0x4c") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((uVar4 & 2) == 0) {\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }\n      else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }" (if "if") (parenthesized_expression "((uVar4 & 2) == 0)" (( "(") (binary_expression "(uVar4 & 2) == 0" (parenthesized_expression "(uVar4 & 2)" (( "(") (binary_expression "uVar4 & 2" (identifier "uVar4") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        piVar18[0x11] = 4;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);\n      }" ({ "{") (expression_statement "piVar18[0x11] = 4;" (assignment_expression "piVar18[0x11] = 4" (subscript_expression "piVar18[0x11]" (identifier "piVar18") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);" (assignment_expression "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8)" (subscript_expression "piVar18[0x10]" (identifier "piVar18") ([ "[") (number_literal "0x10") (] "]")) (= "=") (cast_expression "(int)(PTR_DAT_000b2398 + 0x1ec8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ec8)" (( "(") (binary_expression "PTR_DAT_000b2398 + 0x1ec8" (identifier "PTR_DAT_000b2398") (+ "+") (number_literal "0x1ec8")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }" (else "else") (compound_statement "{\n        piVar18[0x11] = 3;\n        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);\n      }" ({ "{") (expression_statement "piVar18[0x11] = 3;" (assignment_expression "piVar18[0x11] = 3" (subscript_expression "piVar18[0x11]" (identifier "piVar18") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);" (assignment_expression "piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc)" (subscript_expression "piVar18[0x10]" (identifier "piVar18") ([ "[") (number_literal "0x10") (] "]")) (= "=") (cast_expression "(int)(PTR_DAT_000b2398 + 0x1ebc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ebc)" (( "(") (binary_expression "PTR_DAT_000b2398 + 0x1ebc" (identifier "PTR_DAT_000b2398") (+ "+") (number_literal "0x1ebc")) () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_000448a0:\n      puVar6 = PTR_s_acket_from_server___s_000b23a8;" (statement_identifier "LAB_000448a0") (: ":") (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8" (identifier "puVar6") (= "=") (identifier "PTR_s_acket_from_server___s_000b23a8")) (; ";"))) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x61] = 0;" (assignment_expression "param_1[0x61] = 0" (subscript_expression "param_1[0x61]" (identifier "param_1") ([ "[") (number_literal "0x61") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x35] = 0;" (assignment_expression "piVar18[0x35] = 0" (subscript_expression "piVar18[0x35]" (identifier "piVar18") ([ "[") (number_literal "0x35") (] "]")) (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 6);" (do "do") (compound_statement "{\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);\n        if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      }" ({ "{") (expression_statement "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);" (assignment_expression "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" (( "(") (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" (* "*") (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_conf_get_int_int_000b27c4"))) () ")")) (argument_list "(param_1[0x92],0x18,iVar3)" (( "(") (subscript_expression "param_1[0x92]" (identifier "param_1") ([ "[") (number_literal "0x92") (] "]")) (, ",") (number_literal "0x18") (, ",") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if (uVar4 < 6) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }" (if "if") (parenthesized_expression "(uVar4 < 6)" (( "(") (binary_expression "uVar4 < 6" (identifier "uVar4") (< "<") (number_literal "6")) () ")")) (compound_statement "{\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();\n          return;\n        }" ({ "{") (expression_statement "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))" (( "(") (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08))" (* "*") (cast_expression "(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08))" (( "(") (binary_expression "&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)" (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (+ "+") (pointer_expression "*(int *)(puVar6 + uVar4 * 4 + 0x7c08)" (* "*") (cast_expression "(int *)(puVar6 + uVar4 * 4 + 0x7c08)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + uVar4 * 4 + 0x7c08)" (( "(") (binary_expression "puVar6 + uVar4 * 4 + 0x7c08" (binary_expression "puVar6 + uVar4 * 4" (identifier "puVar6") (+ "+") (binary_expression "uVar4 * 4" (identifier "uVar4") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x7c08")) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 != 6)" (( "(") (binary_expression "iVar3 != 6" (identifier "iVar3") (!= "!=") (number_literal "6")) () ")")) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x3c] = 0;" (assignment_expression "piVar18[0x3c] = 0" (subscript_expression "piVar18[0x3c]" (identifier "piVar18") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      } while (iVar3 != 5);" (do "do") (compound_statement "{\n        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);\n        if ((iVar16 == 0) && (iVar3 == 4)) break;\n        iVar12 = piVar18[0x3c];\n        iVar3 = iVar3 + 1;\n        piVar18[0x3c] = iVar12 + 1;\n        piVar18[iVar12 + 0x3d] = iVar16;\n      }" ({ "{") (expression_statement "iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);" (assignment_expression "iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3)" (identifier "iVar16") (= "=") (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" (( "(") (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" (* "*") (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_conf_get_int_int_000b27c4"))) () ")")) (argument_list "(param_1[0x92],0x19,iVar3)" (( "(") (subscript_expression "param_1[0x92]" (identifier "param_1") ([ "[") (number_literal "0x92") (] "]")) (, ",") (number_literal "0x19") (, ",") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if ((iVar16 == 0) && (iVar3 == 4)) break;" (if "if") (parenthesized_expression "((iVar16 == 0) && (iVar3 == 4))" (( "(") (binary_expression "(iVar16 == 0) && (iVar3 == 4)" (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 == 4)" (( "(") (binary_expression "iVar3 == 4" (identifier "iVar3") (== "==") (number_literal "4")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = piVar18[0x3c];" (assignment_expression "iVar12 = piVar18[0x3c]" (identifier "iVar12") (= "=") (subscript_expression "piVar18[0x3c]" (identifier "piVar18") ([ "[") (number_literal "0x3c") (] "]"))) (; ";")) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar18[0x3c] = iVar12 + 1;" (assignment_expression "piVar18[0x3c] = iVar12 + 1" (subscript_expression "piVar18[0x3c]" (identifier "piVar18") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar18[iVar12 + 0x3d] = iVar16;" (assignment_expression "piVar18[iVar12 + 0x3d] = iVar16" (subscript_expression "piVar18[iVar12 + 0x3d]" (identifier "piVar18") ([ "[") (binary_expression "iVar12 + 0x3d" (identifier "iVar12") (+ "+") (number_literal "0x3d")) (] "]")) (= "=") (identifier "iVar16")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 != 5)" (( "(") (binary_expression "iVar3 != 5" (identifier "iVar3") (!= "!=") (number_literal "5")) () ")")) (; ";")) (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8" (identifier "puVar6") (= "=") (identifier "PTR_s_acket_from_server___s_000b23a8")) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar18[0x42] = 0;" (assignment_expression "piVar18[0x42] = 0" (subscript_expression "piVar18[0x42]" (identifier "piVar18") ([ "[") (number_literal "0x42") (] "]")) (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      } while (iVar3 != 7);" (do "do") (compound_statement "{\n        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);\n        if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }\n        iVar3 = iVar3 + 1;\n      }" ({ "{") (expression_statement "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);" (assignment_expression "uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3)" (parenthesized_expression "(*(code *)PTR_conf_get_int_int_000b27c4)" (( "(") (pointer_expression "*(code *)PTR_conf_get_int_int_000b27c4" (* "*") (cast_expression "(code *)PTR_conf_get_int_int_000b27c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_conf_get_int_int_000b27c4"))) () ")")) (argument_list "(param_1[0x92],0x1f,iVar3)" (( "(") (subscript_expression "param_1[0x92]" (identifier "param_1") ([ "[") (number_literal "0x92") (] "]")) (, ",") (number_literal "0x1f") (, ",") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if (uVar4 < 7) {\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }" (if "if") (parenthesized_expression "(uVar4 < 7)" (( "(") (binary_expression "uVar4 < 7" (identifier "uVar4") (< "<") (number_literal "7")) () ")")) (compound_statement "{\n                    \n                    \n          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();\n          return;\n        }" ({ "{") (expression_statement "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();" (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))" (( "(") (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20))" (* "*") (cast_expression "(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20))" (( "(") (binary_expression "&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)" (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (+ "+") (pointer_expression "*(int *)(puVar6 + uVar4 * 4 + 0x7c20)" (* "*") (cast_expression "(int *)(puVar6 + uVar4 * 4 + 0x7c20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + uVar4 * 4 + 0x7c20)" (( "(") (binary_expression "puVar6 + uVar4 * 4 + 0x7c20" (binary_expression "puVar6 + uVar4 * 4" (identifier "puVar6") (+ "+") (binary_expression "uVar4 * 4" (identifier "uVar4") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x7c20")) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 != 7)" (( "(") (binary_expression "iVar3 != 7" (identifier "iVar3") (!= "!=") (number_literal "7")) () ")")) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);" (assignment_expression "iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17)" (parenthesized_expression "(*(code *)PTR_conf_get_int_000b2434)" (( "(") (pointer_expression "*(code *)PTR_conf_get_int_000b2434" (* "*") (cast_expression "(code *)PTR_conf_get_int_000b2434" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_conf_get_int_000b2434"))) () ")")) (argument_list "(param_1[0x92],0x17)" (( "(") (subscript_expression "param_1[0x92]" (identifier "param_1") ([ "[") (number_literal "0x92") (] "]")) (, ",") (number_literal "0x17") () ")")))) (; ";")) (expression_statement "puVar6 = PTR_ssh_zlib_000b2978;" (assignment_expression "puVar6 = PTR_ssh_zlib_000b2978" (identifier "puVar6") (= "=") (identifier "PTR_ssh_zlib_000b2978")) (; ";")) (if_statement "if (iVar3 == 0) {\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar6 = PTR_DAT_000b2398 + 0x1240;\n      }" ({ "{") (expression_statement "puVar6 = PTR_DAT_000b2398 + 0x1240;" (assignment_expression "puVar6 = PTR_DAT_000b2398 + 0x1240" (identifier "puVar6") (= "=") (binary_expression "PTR_DAT_000b2398 + 0x1240" (identifier "PTR_DAT_000b2398") (+ "+") (number_literal "0x1240"))) (; ";")) (} "}"))) (expression_statement "piVar18[0x4a] = (int)puVar6;" (assignment_expression "piVar18[0x4a] = (int)puVar6" (subscript_expression "piVar18[0x4a]" (identifier "piVar18") ([ "[") (number_literal "0x4a") (] "]")) (= "=") (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6"))) (; ";")) (expression_statement "piVar23 = piVar18 + 0x83;" (assignment_expression "piVar23 = piVar18 + 0x83" (identifier "piVar23") (= "=") (binary_expression "piVar18 + 0x83" (identifier "piVar18") (+ "+") (number_literal "0x83"))) (; ";")) (expression_statement "param_1[0x59] = 1;" (assignment_expression "param_1[0x59] = 1" (subscript_expression "param_1[0x59]" (identifier "param_1") ([ "[") (number_literal "0x59") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0x1a5] = 1;" (assignment_expression "param_1[0x1a5] = 1" (subscript_expression "param_1[0x1a5]" (identifier "param_1") ([ "[") (number_literal "0x1a5") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" (identifier "piVar14") (= "=") (identifier "piVar23")) (; ";")) (do_statement "do {\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x203 != piVar14);" (do "do") (compound_statement "{\n        piVar29 = piVar14 + -0x30;\n        do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);\n        piVar14 = piVar14 + 0x30;\n      }" ({ "{") (expression_statement "piVar29 = piVar14 + -0x30;" (assignment_expression "piVar29 = piVar14 + -0x30" (identifier "piVar29") (= "=") (binary_expression "piVar14 + -0x30" (identifier "piVar14") (+ "+") (number_literal "-0x30"))) (; ";")) (do_statement "do {\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        } while (piVar14 != piVar29);" (do "do") (compound_statement "{\n          *piVar29 = 0;\n          piVar29 = piVar29 + 3;\n        }" ({ "{") (expression_statement "*piVar29 = 0;" (assignment_expression "*piVar29 = 0" (pointer_expression "*piVar29" (* "*") (identifier "piVar29")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar29 = piVar29 + 3;" (assignment_expression "piVar29 = piVar29 + 3" (identifier "piVar29") (= "=") (binary_expression "piVar29 + 3" (identifier "piVar29") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar14 != piVar29)" (( "(") (binary_expression "piVar14 != piVar29" (identifier "piVar14") (!= "!=") (identifier "piVar29")) () ")")) (; ";")) (expression_statement "piVar14 = piVar14 + 0x30;" (assignment_expression "piVar14 = piVar14 + 0x30" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 0x30" (identifier "piVar14") (+ "+") (number_literal "0x30"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar18 + 0x203 != piVar14)" (( "(") (binary_expression "piVar18 + 0x203 != piVar14" (binary_expression "piVar18 + 0x203" (identifier "piVar18") (+ "+") (number_literal "0x203")) (!= "!=") (identifier "piVar14")) () ")")) (; ";")) (expression_statement "iVar3 = piVar18[0x35];" (assignment_expression "iVar3 = piVar18[0x35]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x35]" (identifier "piVar18") ([ "[") (number_literal "0x35") (] "]"))) (; ";")) (if_statement "if (0 < iVar3) {\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }" (if "if") (parenthesized_expression "(0 < iVar3)" (( "(") (binary_expression "0 < iVar3" (number_literal "0") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n        piVar14 = piVar18 + 0x36;\n        uVar22 = 0;\n        iVar16 = 0;\n        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);\n        do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);\n      }" ({ "{") (expression_statement "piVar14 = piVar18 + 0x36;" (assignment_expression "piVar14 = piVar18 + 0x36" (identifier "piVar14") (= "=") (binary_expression "piVar18 + 0x36" (identifier "piVar18") (+ "+") (number_literal "0x36"))) (; ";")) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424)" (identifier "pcVar28") (= "=") (cast_expression "(code *)(PTR_LAB_000b2894 + -0x5424)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000b2894 + -0x5424)" (( "(") (binary_expression "PTR_LAB_000b2894 + -0x5424" (identifier "PTR_LAB_000b2894") (+ "+") (number_literal "-0x5424")) () ")")))) (; ";")) (do_statement "do {\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        } while (iVar16 < iVar3);" (do "do") (compound_statement "{\n          piVar29 = (int *)*piVar14;\n          if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }\n          iVar16 = iVar16 + 1;\n          piVar14 = piVar14 + 1;\n        }" ({ "{") (expression_statement "piVar29 = (int *)*piVar14;" (assignment_expression "piVar29 = (int *)*piVar14" (identifier "piVar29") (= "=") (cast_expression "(int *)*piVar14" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar14" (* "*") (identifier "piVar14")))) (; ";")) (if_statement "if (piVar29 == (int *)0x0) {\n            uVar22 = 1;\n          }\n          else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }" (if "if") (parenthesized_expression "(piVar29 == (int *)0x0)" (( "(") (binary_expression "piVar29 == (int *)0x0" (identifier "piVar29") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uVar22 = 1;\n          }" ({ "{") (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" (identifier "uVar22") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }" (else "else") (compound_statement "{\n            iVar12 = 0;\n            if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }\n          }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < *piVar29) {\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }" (if "if") (parenthesized_expression "(0 < *piVar29)" (( "(") (binary_expression "0 < *piVar29" (number_literal "0") (< "<") (pointer_expression "*piVar29" (* "*") (identifier "piVar29"))) () ")")) (compound_statement "{\n              iVar3 = piVar29[1];\n              do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);\n              iVar3 = piVar18[0x35];\n            }" ({ "{") (expression_statement "iVar3 = piVar29[1];" (assignment_expression "iVar3 = piVar29[1]" (identifier "iVar3") (= "=") (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]"))) (; ";")) (do_statement "do {\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              } while (iVar12 < iVar13);" (do "do") (compound_statement "{\n                iVar24 = iVar12 * 4;\n                iVar12 = iVar12 + 1;\n                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));\n                iVar3 = piVar29[1];\n                iVar13 = *piVar29;\n                uVar17 = *(undefined4 *)(iVar3 + iVar24);\n                *(undefined4 *)(iVar7 + 8) = uVar22;\n                *(undefined4 *)(iVar7 + 4) = uVar17;\n              }" ({ "{") (expression_statement "iVar24 = iVar12 * 4;" (assignment_expression "iVar24 = iVar12 * 4" (identifier "iVar24") (= "=") (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));" (assignment_expression "iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24))" (identifier "iVar7") (= "=") (call_expression "(*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24))" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24))" (( "(") (binary_expression "piVar18 + 0x53" (identifier "piVar18") (+ "+") (number_literal "0x53")) (, ",") (pointer_expression "**(undefined4 **)(iVar3 + iVar24)" (* "*") (pointer_expression "*(undefined4 **)(iVar3 + iVar24)" (* "*") (cast_expression "(undefined4 **)(iVar3 + iVar24)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + iVar24)" (( "(") (binary_expression "iVar3 + iVar24" (identifier "iVar3") (+ "+") (identifier "iVar24")) () ")"))))) () ")")))) (; ";")) (expression_statement "iVar3 = piVar29[1];" (assignment_expression "iVar3 = piVar29[1]" (identifier "iVar3") (= "=") (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar13 = *piVar29;" (assignment_expression "iVar13 = *piVar29" (identifier "iVar13") (= "=") (pointer_expression "*piVar29" (* "*") (identifier "piVar29"))) (; ";")) (expression_statement "uVar17 = *(undefined4 *)(iVar3 + iVar24);" (assignment_expression "uVar17 = *(undefined4 *)(iVar3 + iVar24)" (identifier "uVar17") (= "=") (pointer_expression "*(undefined4 *)(iVar3 + iVar24)" (* "*") (cast_expression "(undefined4 *)(iVar3 + iVar24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + iVar24)" (( "(") (binary_expression "iVar3 + iVar24" (identifier "iVar3") (+ "+") (identifier "iVar24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 8) = uVar22;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = uVar22" (pointer_expression "*(undefined4 *)(iVar7 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 4) = uVar17;" (assignment_expression "*(undefined4 *)(iVar7 + 4) = uVar17" (pointer_expression "*(undefined4 *)(iVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar12 < iVar13)" (( "(") (binary_expression "iVar12 < iVar13" (identifier "iVar12") (< "<") (identifier "iVar13")) () ")")) (; ";")) (expression_statement "iVar3 = piVar18[0x35];" (assignment_expression "iVar3 = piVar18[0x35]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x35]" (identifier "piVar18") ([ "[") (number_literal "0x35") (] "]"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 1" (identifier "piVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar16 < iVar3)" (( "(") (binary_expression "iVar16 < iVar3" (identifier "iVar16") (< "<") (identifier "iVar3")) () ")")) (; ";")) (} "}"))) (if_statement "if (piVar18[0x4d] == 0) {\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }\n      else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }" (if "if") (parenthesized_expression "(piVar18[0x4d] == 0)" (( "(") (binary_expression "piVar18[0x4d] == 0" (subscript_expression "piVar18[0x4d]" (identifier "piVar18") ([ "[") (number_literal "0x4d") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }\n      }" ({ "{") (if_statement "if (0 < piVar18[0x3c]) {\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }" (if "if") (parenthesized_expression "(0 < piVar18[0x3c])" (( "(") (binary_expression "0 < piVar18[0x3c]" (number_literal "0") (< "<") (subscript_expression "piVar18[0x3c]" (identifier "piVar18") ([ "[") (number_literal "0x3c") (] "]"))) () ")")) (compound_statement "{\n          piVar30 = piVar18 + 0x3d;\n          local_90 = 0;\n          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);\n          local_74 = 0;\n          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);\n          piVar14 = piVar30;\n          do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);\n          if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }\n        }" ({ "{") (expression_statement "piVar30 = piVar18 + 0x3d;" (assignment_expression "piVar30 = piVar18 + 0x3d" (identifier "piVar30") (= "=") (binary_expression "piVar18 + 0x3d" (identifier "piVar18") (+ "+") (number_literal "0x3d"))) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);" (assignment_expression "piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8)" (identifier "piVar29") (= "=") (cast_expression "(int *)(PTR_DAT_000b2398 + 0x1ed8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000b2398 + 0x1ed8)" (( "(") (binary_expression "PTR_DAT_000b2398 + 0x1ed8" (identifier "PTR_DAT_000b2398") (+ "+") (number_literal "0x1ed8")) () ")")))) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);" (assignment_expression "piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08)" (identifier "piVar25") (= "=") (cast_expression "(int *)(PTR_DAT_000b2398 + 0x1f08)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000b2398 + 0x1f08)" (( "(") (binary_expression "PTR_DAT_000b2398 + 0x1f08" (identifier "PTR_DAT_000b2398") (+ "+") (number_literal "0x1f08")) () ")")))) (; ";")) (expression_statement "piVar14 = piVar30;" (assignment_expression "piVar14 = piVar30" (identifier "piVar14") (= "=") (identifier "piVar30")) (; ";")) (do_statement "do {\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          } while ((int)local_74 < piVar18[0x3c]);" (do "do") (compound_statement "{\n            iVar3 = *piVar14;\n            iVar16 = 4;\n            piVar27 = piVar29;\n            if (iVar3 == 0) {\n              local_90 = 1;\n            }\n            while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }\n            local_74 = local_74 + 1;\n            piVar14 = piVar14 + 1;\n          }" ({ "{") (expression_statement "iVar3 = *piVar14;" (assignment_expression "iVar3 = *piVar14" (identifier "iVar3") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "iVar16 = 4;" (assignment_expression "iVar16 = 4" (identifier "iVar16") (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar27 = piVar29;" (assignment_expression "piVar27 = piVar29" (identifier "piVar27") (= "=") (identifier "piVar29")) (; ";")) (if_statement "if (iVar3 == 0) {\n              local_90 = 1;\n            }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_90 = 1;\n            }" ({ "{") (expression_statement "local_90 = 1;" (assignment_expression "local_90 = 1" (identifier "local_90") (= "=") (number_literal "1")) (; ";")) (} "}"))) (while_statement "while( true ) {\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }\n              if (piVar25 == piVar27 + 2) break;\n              iVar16 = piVar27[3];\n              iVar3 = *piVar14;\n              piVar27 = piVar27 + 2;\n            }" ({ "{") (if_statement "if (iVar16 == iVar3) {\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }" (if "if") (parenthesized_expression "(iVar16 == iVar3)" (( "(") (binary_expression "iVar16 == iVar3" (identifier "iVar16") (== "==") (identifier "iVar3")) () ")")) (compound_statement "{\n                iVar16 = *piVar27;\n                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));\n                if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }\n              }" ({ "{") (expression_statement "iVar16 = *piVar27;" (assignment_expression "iVar16 = *piVar27" (identifier "iVar16") (= "=") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));" (assignment_expression "iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34))" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)\n                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34))" (parenthesized_expression "(*(code *)PTR_have_ssh_host_key_000b29e8)" (( "(") (pointer_expression "*(code *)PTR_have_ssh_host_key_000b29e8" (* "*") (cast_expression "(code *)PTR_have_ssh_host_key_000b29e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_have_ssh_host_key_000b29e8"))) () ")")) (argument_list "(param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34))" (( "(") (subscript_expression "param_1[0x3e]" (identifier "param_1") ([ "[") (number_literal "0x3e") (] "]")) (, ",") (subscript_expression "param_1[0x3f]" (identifier "param_1") ([ "[") (number_literal "0x3f") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(iVar16 + 0x34)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x34)" (( "(") (binary_expression "iVar16 + 0x34" (identifier "iVar16") (+ "+") (number_literal "0x34")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));\n                  *(int *)(iVar3 + 4) = iVar16;\n                  *(int *)(iVar3 + 8) = local_90;\n                }" ({ "{") (expression_statement "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));" (assignment_expression "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30))" (identifier "iVar3") (= "=") (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30))" (identifier "FUN_0003abdc") (argument_list "(piVar23,*(undefined4 *)(iVar16 + 0x30))" (( "(") (identifier "piVar23") (, ",") (pointer_expression "*(undefined4 *)(iVar16 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x30)" (( "(") (binary_expression "iVar16 + 0x30" (identifier "iVar16") (+ "+") (number_literal "0x30")) () ")")))) () ")")))) (; ";")) (expression_statement "*(int *)(iVar3 + 4) = iVar16;" (assignment_expression "*(int *)(iVar3 + 4) = iVar16" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(int *)(iVar3 + 8) = local_90;" (assignment_expression "*(int *)(iVar3 + 8) = local_90" (pointer_expression "*(int *)(iVar3 + 8)" (* "*") (cast_expression "(int *)(iVar3 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (piVar25 == piVar27 + 2) break;" (if "if") (parenthesized_expression "(piVar25 == piVar27 + 2)" (( "(") (binary_expression "piVar25 == piVar27 + 2" (identifier "piVar25") (== "==") (binary_expression "piVar27 + 2" (identifier "piVar27") (+ "+") (number_literal "2"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar16 = piVar27[3];" (assignment_expression "iVar16 = piVar27[3]" (identifier "iVar16") (= "=") (subscript_expression "piVar27[3]" (identifier "piVar27") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar3 = *piVar14;" (assignment_expression "iVar3 = *piVar14" (identifier "iVar3") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "piVar27 = piVar27 + 2;" (assignment_expression "piVar27 = piVar27 + 2" (identifier "piVar27") (= "=") (binary_expression "piVar27 + 2" (identifier "piVar27") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "local_74 = local_74 + 1;" (assignment_expression "local_74 = local_74 + 1" (identifier "local_74") (= "=") (binary_expression "local_74 + 1" (identifier "local_74") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 1" (identifier "piVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_74 < piVar18[0x3c])" (( "(") (binary_expression "(int)local_74 < piVar18[0x3c]" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (< "<") (subscript_expression "piVar18[0x3c]" (identifier "piVar18") ([ "[") (number_literal "0x3c") (] "]"))) () ")")) (; ";")) (if_statement "if (0 < piVar18[0x3c]) {\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }" (if "if") (parenthesized_expression "(0 < piVar18[0x3c])" (( "(") (binary_expression "0 < piVar18[0x3c]" (number_literal "0") (< "<") (subscript_expression "piVar18[0x3c]" (identifier "piVar18") ([ "[") (number_literal "0x3c") (] "]"))) () ")")) (compound_statement "{\n            iVar3 = 0;\n            uVar22 = 0;\n            do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);\n          }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            } while (iVar3 < piVar18[0x3c]);" (do "do") (compound_statement "{\n              iVar16 = *piVar30;\n              iVar12 = 4;\n              piVar14 = piVar29;\n              if (iVar16 == 0) {\n                uVar22 = 1;\n              }\n              while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }\n              iVar3 = iVar3 + 1;\n              piVar30 = piVar30 + 1;\n            }" ({ "{") (expression_statement "iVar16 = *piVar30;" (assignment_expression "iVar16 = *piVar30" (identifier "iVar16") (= "=") (pointer_expression "*piVar30" (* "*") (identifier "piVar30"))) (; ";")) (expression_statement "iVar12 = 4;" (assignment_expression "iVar12 = 4" (identifier "iVar12") (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar14 = piVar29;" (assignment_expression "piVar14 = piVar29" (identifier "piVar14") (= "=") (identifier "piVar29")) (; ";")) (if_statement "if (iVar16 == 0) {\n                uVar22 = 1;\n              }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar22 = 1;\n              }" ({ "{") (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" (identifier "uVar22") (= "=") (number_literal "1")) (; ";")) (} "}"))) (while_statement "while( true ) {\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }\n                if (piVar25 == piVar14 + 2) break;\n                iVar12 = piVar14[3];\n                iVar16 = *piVar30;\n                piVar14 = piVar14 + 2;\n              }" ({ "{") (if_statement "if (iVar16 == iVar12) {\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }" (if "if") (parenthesized_expression "(iVar16 == iVar12)" (( "(") (binary_expression "iVar16 == iVar12" (identifier "iVar16") (== "==") (identifier "iVar12")) () ")")) (compound_statement "{\n                  iVar12 = *piVar14;\n                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));\n                  *(int *)(iVar16 + 4) = iVar12;\n                  *(undefined4 *)(iVar16 + 8) = uVar22;\n                }" ({ "{") (expression_statement "iVar12 = *piVar14;" (assignment_expression "iVar12 = *piVar14" (identifier "iVar12") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));" (assignment_expression "iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30))" (identifier "iVar16") (= "=") (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30))" (identifier "FUN_0003abdc") (argument_list "(piVar23,*(undefined4 *)(iVar12 + 0x30))" (( "(") (identifier "piVar23") (, ",") (pointer_expression "*(undefined4 *)(iVar12 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x30)" (( "(") (binary_expression "iVar12 + 0x30" (identifier "iVar12") (+ "+") (number_literal "0x30")) () ")")))) () ")")))) (; ";")) (expression_statement "*(int *)(iVar16 + 4) = iVar12;" (assignment_expression "*(int *)(iVar16 + 4) = iVar12" (pointer_expression "*(int *)(iVar16 + 4)" (* "*") (cast_expression "(int *)(iVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 4)" (( "(") (binary_expression "iVar16 + 4" (identifier "iVar16") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(iVar16 + 8) = uVar22;" (assignment_expression "*(undefined4 *)(iVar16 + 8) = uVar22" (pointer_expression "*(undefined4 *)(iVar16 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 8)" (( "(") (binary_expression "iVar16 + 8" (identifier "iVar16") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (} "}"))) (if_statement "if (piVar25 == piVar14 + 2) break;" (if "if") (parenthesized_expression "(piVar25 == piVar14 + 2)" (( "(") (binary_expression "piVar25 == piVar14 + 2" (identifier "piVar25") (== "==") (binary_expression "piVar14 + 2" (identifier "piVar14") (+ "+") (number_literal "2"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar12 = piVar14[3];" (assignment_expression "iVar12 = piVar14[3]" (identifier "iVar12") (= "=") (subscript_expression "piVar14[3]" (identifier "piVar14") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar16 = *piVar30;" (assignment_expression "iVar16 = *piVar30" (identifier "iVar16") (= "=") (pointer_expression "*piVar30" (* "*") (identifier "piVar30"))) (; ";")) (expression_statement "piVar14 = piVar14 + 2;" (assignment_expression "piVar14 = piVar14 + 2" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 2" (identifier "piVar14") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar30 = piVar30 + 1;" (assignment_expression "piVar30 = piVar30 + 1" (identifier "piVar30") (= "=") (binary_expression "piVar30 + 1" (identifier "piVar30") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 < piVar18[0x3c])" (( "(") (binary_expression "iVar3 < piVar18[0x3c]" (identifier "iVar3") (< "<") (subscript_expression "piVar18[0x3c]" (identifier "piVar18") ([ "[") (number_literal "0x3c") (] "]"))) () ")")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }" (else "else") (compound_statement "{\n        if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }\n        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));\n        iVar16 = param_1[0x27];\n        *(undefined4 *)(iVar3 + 8) = 0;\n        *(int *)(iVar3 + 4) = iVar16;\n      }" ({ "{") (if_statement "if (param_1[0x26] == 0) {\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }" (if "if") (parenthesized_expression "(param_1[0x26] == 0)" (( "(") (binary_expression "param_1[0x26] == 0" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          (*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n          return;\n        }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" (* "*") (cast_expression "(code *)PTR___assert_fail_000b2d2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000b2d2c"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x5970,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,\n                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5970" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5970")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x35c0")) (, ",") (number_literal "0x19bf") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x7e6c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));" (assignment_expression "iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30))" (identifier "iVar3") (= "=") (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30))" (identifier "FUN_0003abdc") (argument_list "(piVar23,*(undefined4 *)(param_1[0x27] + 0x30))" (( "(") (identifier "piVar23") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1[0x27] + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x27] + 0x30)" (( "(") (binary_expression "param_1[0x27] + 0x30" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "0x30")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar16 = param_1[0x27];" (assignment_expression "iVar16 = param_1[0x27]" (identifier "iVar16") (= "=") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(iVar3 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar3 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar3 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(iVar3 + 4) = iVar16;" (assignment_expression "*(int *)(iVar3 + 4) = iVar16" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (} "}")))) (expression_statement "piVar14 = piVar18 + 0x113;" (assignment_expression "piVar14 = piVar18 + 0x113" (identifier "piVar14") (= "=") (binary_expression "piVar18 + 0x113" (identifier "piVar18") (+ "+") (number_literal "0x113"))) (; ";")) (expression_statement "iVar3 = piVar18[0x42];" (assignment_expression "iVar3 = piVar18[0x42]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x42]" (identifier "piVar18") ([ "[") (number_literal "0x42") (] "]"))) (; ";")) (expression_statement "piVar23 = piVar18 + 0xb3;" (assignment_expression "piVar23 = piVar18 + 0xb3" (identifier "piVar23") (= "=") (binary_expression "piVar18 + 0xb3" (identifier "piVar18") (+ "+") (number_literal "0xb3"))) (; ";")) (do_statement "do {\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      } while (piVar14 != piVar23);" (do "do") (compound_statement "{\n        piVar29 = piVar18 + 0x43;\n        if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }\n        piVar23 = piVar23 + 0x30;\n      }" ({ "{") (expression_statement "piVar29 = piVar18 + 0x43;" (assignment_expression "piVar29 = piVar18 + 0x43" (identifier "piVar29") (= "=") (binary_expression "piVar18 + 0x43" (identifier "piVar18") (+ "+") (number_literal "0x43"))) (; ";")) (if_statement "if (0 < iVar3) {\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }" (if "if") (parenthesized_expression "(0 < iVar3)" (( "(") (binary_expression "0 < iVar3" (number_literal "0") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n          local_90 = 0;\n          uVar22 = 0;\n          do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);\n        }" ({ "{") (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          } while (local_90 < iVar3);" (do "do") (compound_statement "{\n            piVar30 = (int *)*piVar29;\n            if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }\n            local_90 = local_90 + 1;\n            piVar29 = piVar29 + 1;\n          }" ({ "{") (expression_statement "piVar30 = (int *)*piVar29;" (assignment_expression "piVar30 = (int *)*piVar29" (identifier "piVar30") (= "=") (cast_expression "(int *)*piVar29" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar29" (* "*") (identifier "piVar29")))) (; ";")) (if_statement "if (piVar30 == (int *)0x0) {\n              uVar22 = 1;\n            }\n            else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }" (if "if") (parenthesized_expression "(piVar30 == (int *)0x0)" (( "(") (binary_expression "piVar30 == (int *)0x0" (identifier "piVar30") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              uVar22 = 1;\n            }" ({ "{") (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" (identifier "uVar22") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }" (else "else") (compound_statement "{\n              iVar16 = 0;\n              if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }\n            }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < *piVar30) {\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }" (if "if") (parenthesized_expression "(0 < *piVar30)" (( "(") (binary_expression "0 < *piVar30" (number_literal "0") (< "<") (pointer_expression "*piVar30" (* "*") (identifier "piVar30"))) () ")")) (compound_statement "{\n                iVar3 = piVar30[1];\n                do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);\n                iVar3 = piVar18[0x42];\n              }" ({ "{") (expression_statement "iVar3 = piVar30[1];" (assignment_expression "iVar3 = piVar30[1]" (identifier "iVar3") (= "=") (subscript_expression "piVar30[1]" (identifier "piVar30") ([ "[") (number_literal "1") (] "]"))) (; ";")) (do_statement "do {\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                } while (iVar16 < iVar7);" (do "do") (compound_statement "{\n                  iVar13 = iVar16 * 4;\n                  iVar16 = iVar16 + 1;\n                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));\n                  iVar3 = piVar30[1];\n                  iVar7 = *piVar30;\n                  uVar17 = *(undefined4 *)(iVar3 + iVar13);\n                  *(undefined4 *)(iVar12 + 8) = uVar22;\n                  *(undefined4 *)(iVar12 + 4) = uVar17;\n                }" ({ "{") (expression_statement "iVar13 = iVar16 * 4;" (assignment_expression "iVar13 = iVar16 * 4" (identifier "iVar13") (= "=") (binary_expression "iVar16 * 4" (identifier "iVar16") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));" (assignment_expression "iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20))" (identifier "iVar12") (= "=") (call_expression "FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20))" (identifier "FUN_0003abdc") (argument_list "(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20))" (( "(") (identifier "piVar23") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + iVar13) + 0x20)" (( "(") (binary_expression "*(int *)(iVar3 + iVar13) + 0x20" (pointer_expression "*(int *)(iVar3 + iVar13)" (* "*") (cast_expression "(int *)(iVar3 + iVar13)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + iVar13)" (( "(") (binary_expression "iVar3 + iVar13" (identifier "iVar3") (+ "+") (identifier "iVar13")) () ")")))) (+ "+") (number_literal "0x20")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar3 = piVar30[1];" (assignment_expression "iVar3 = piVar30[1]" (identifier "iVar3") (= "=") (subscript_expression "piVar30[1]" (identifier "piVar30") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar7 = *piVar30;" (assignment_expression "iVar7 = *piVar30" (identifier "iVar7") (= "=") (pointer_expression "*piVar30" (* "*") (identifier "piVar30"))) (; ";")) (expression_statement "uVar17 = *(undefined4 *)(iVar3 + iVar13);" (assignment_expression "uVar17 = *(undefined4 *)(iVar3 + iVar13)" (identifier "uVar17") (= "=") (pointer_expression "*(undefined4 *)(iVar3 + iVar13)" (* "*") (cast_expression "(undefined4 *)(iVar3 + iVar13)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + iVar13)" (( "(") (binary_expression "iVar3 + iVar13" (identifier "iVar3") (+ "+") (identifier "iVar13")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar12 + 8) = uVar22;" (assignment_expression "*(undefined4 *)(iVar12 + 8) = uVar22" (pointer_expression "*(undefined4 *)(iVar12 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (expression_statement "*(undefined4 *)(iVar12 + 4) = uVar17;" (assignment_expression "*(undefined4 *)(iVar12 + 4) = uVar17" (pointer_expression "*(undefined4 *)(iVar12 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 4)" (( "(") (binary_expression "iVar12 + 4" (identifier "iVar12") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar16 < iVar7)" (( "(") (binary_expression "iVar16 < iVar7" (identifier "iVar16") (< "<") (identifier "iVar7")) () ")")) (; ";")) (expression_statement "iVar3 = piVar18[0x42];" (assignment_expression "iVar3 = piVar18[0x42]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x42]" (identifier "piVar18") ([ "[") (number_literal "0x42") (] "]"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_90 = local_90 + 1;" (assignment_expression "local_90 = local_90 + 1" (identifier "local_90") (= "=") (binary_expression "local_90 + 1" (identifier "local_90") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar29 = piVar29 + 1;" (assignment_expression "piVar29 = piVar29 + 1" (identifier "piVar29") (= "=") (binary_expression "piVar29 + 1" (identifier "piVar29") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_90 < iVar3)" (( "(") (binary_expression "local_90 < iVar3" (identifier "local_90") (< "<") (identifier "iVar3")) () ")")) (; ";")) (} "}"))) (expression_statement "piVar23 = piVar23 + 0x30;" (assignment_expression "piVar23 = piVar23 + 0x30" (identifier "piVar23") (= "=") (binary_expression "piVar23 + 0x30" (identifier "piVar23") (+ "+") (number_literal "0x30"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar14 != piVar23)" (( "(") (binary_expression "piVar14 != piVar23" (identifier "piVar14") (!= "!=") (identifier "piVar23")) () ")")) (; ";")) (expression_statement "iVar3 = piVar18[0x11];" (assignment_expression "iVar3 = piVar18[0x11]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x11]" (identifier "piVar18") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (do_statement "do {\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x173 != piVar14);" (do "do") (compound_statement "{\n        iVar16 = 0;\n        if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }\n        puVar6 = PTR_ssh_zlib_000b2978;\n        piVar14 = piVar14 + 0x30;\n      }" ({ "{") (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar3) {\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }" (if "if") (parenthesized_expression "(0 < iVar3)" (( "(") (binary_expression "0 < iVar3" (number_literal "0") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n          iVar12 = piVar18[0x10];\n          do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);\n          if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }\n        }" ({ "{") (expression_statement "iVar12 = piVar18[0x10];" (assignment_expression "iVar12 = piVar18[0x10]" (identifier "iVar12") (= "=") (subscript_expression "piVar18[0x10]" (identifier "piVar18") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (do_statement "do {\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          } while (iVar16 < iVar3);" (do "do") (compound_statement "{\n            iVar13 = iVar16 * 4;\n            iVar16 = iVar16 + 1;\n            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));\n            iVar12 = piVar18[0x10];\n            iVar3 = piVar18[0x11];\n            uVar22 = *(undefined4 *)(iVar12 + iVar13);\n            *(undefined4 *)(iVar7 + 8) = 0;\n            *(undefined4 *)(iVar7 + 4) = uVar22;\n          }" ({ "{") (expression_statement "iVar13 = iVar16 * 4;" (assignment_expression "iVar13 = iVar16 * 4" (identifier "iVar13") (= "=") (binary_expression "iVar16 * 4" (identifier "iVar16") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));" (assignment_expression "iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24))" (identifier "iVar7") (= "=") (call_expression "FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24))" (identifier "FUN_0003abdc") (argument_list "(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24))" (( "(") (identifier "piVar14") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar12 + iVar13) + 0x24)" (( "(") (binary_expression "*(int *)(iVar12 + iVar13) + 0x24" (pointer_expression "*(int *)(iVar12 + iVar13)" (* "*") (cast_expression "(int *)(iVar12 + iVar13)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + iVar13)" (( "(") (binary_expression "iVar12 + iVar13" (identifier "iVar12") (+ "+") (identifier "iVar13")) () ")")))) (+ "+") (number_literal "0x24")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar12 = piVar18[0x10];" (assignment_expression "iVar12 = piVar18[0x10]" (identifier "iVar12") (= "=") (subscript_expression "piVar18[0x10]" (identifier "piVar18") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "iVar3 = piVar18[0x11];" (assignment_expression "iVar3 = piVar18[0x11]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x11]" (identifier "piVar18") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "uVar22 = *(undefined4 *)(iVar12 + iVar13);" (assignment_expression "uVar22 = *(undefined4 *)(iVar12 + iVar13)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)(iVar12 + iVar13)" (* "*") (cast_expression "(undefined4 *)(iVar12 + iVar13)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + iVar13)" (( "(") (binary_expression "iVar12 + iVar13" (identifier "iVar12") (+ "+") (identifier "iVar13")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 4) = uVar22;" (assignment_expression "*(undefined4 *)(iVar7 + 4) = uVar22" (pointer_expression "*(undefined4 *)(iVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar16 < iVar3)" (( "(") (binary_expression "iVar16 < iVar3" (identifier "iVar16") (< "<") (identifier "iVar3")) () ")")) (; ";")) (if_statement "if (0 < iVar3) {\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }" (if "if") (parenthesized_expression "(0 < iVar3)" (( "(") (binary_expression "0 < iVar3" (number_literal "0") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n            iVar7 = 0;\n            iVar16 = 0;\n            do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);\n          }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            } while (iVar7 < iVar3);" (do "do") (compound_statement "{\n              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }\n              iVar7 = iVar7 + 1;\n              iVar16 = iVar7 * 4;\n            }" ({ "{") (if_statement "if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0" (pointer_expression "*(int *)(*(int *)(iVar12 + iVar16) + 0x28)" (* "*") (cast_expression "(int *)(*(int *)(iVar12 + iVar16) + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar12 + iVar16) + 0x28)" (( "(") (binary_expression "*(int *)(iVar12 + iVar16) + 0x28" (pointer_expression "*(int *)(iVar12 + iVar16)" (* "*") (cast_expression "(int *)(iVar12 + iVar16)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + iVar16)" (( "(") (binary_expression "iVar12 + iVar16" (identifier "iVar12") (+ "+") (identifier "iVar16")) () ")")))) (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar13 = FUN_0003abdc(piVar14);\n                iVar12 = piVar18[0x10];\n                iVar3 = piVar18[0x11];\n                uVar22 = *(undefined4 *)(iVar12 + iVar16);\n                *(undefined4 *)(iVar13 + 8) = 1;\n                *(undefined4 *)(iVar13 + 4) = uVar22;\n              }" ({ "{") (expression_statement "iVar13 = FUN_0003abdc(piVar14);" (assignment_expression "iVar13 = FUN_0003abdc(piVar14)" (identifier "iVar13") (= "=") (call_expression "FUN_0003abdc(piVar14)" (identifier "FUN_0003abdc") (argument_list "(piVar14)" (( "(") (identifier "piVar14") () ")")))) (; ";")) (expression_statement "iVar12 = piVar18[0x10];" (assignment_expression "iVar12 = piVar18[0x10]" (identifier "iVar12") (= "=") (subscript_expression "piVar18[0x10]" (identifier "piVar18") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "iVar3 = piVar18[0x11];" (assignment_expression "iVar3 = piVar18[0x11]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x11]" (identifier "piVar18") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "uVar22 = *(undefined4 *)(iVar12 + iVar16);" (assignment_expression "uVar22 = *(undefined4 *)(iVar12 + iVar16)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)(iVar12 + iVar16)" (* "*") (cast_expression "(undefined4 *)(iVar12 + iVar16)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + iVar16)" (( "(") (binary_expression "iVar12 + iVar16" (identifier "iVar12") (+ "+") (identifier "iVar16")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar13 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar13 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar13 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar13 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 8)" (( "(") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(iVar13 + 4) = uVar22;" (assignment_expression "*(undefined4 *)(iVar13 + 4) = uVar22" (pointer_expression "*(undefined4 *)(iVar13 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar13 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 4)" (( "(") (binary_expression "iVar13 + 4" (identifier "iVar13") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar16 = iVar7 * 4;" (assignment_expression "iVar16 = iVar7 * 4" (identifier "iVar16") (= "=") (binary_expression "iVar7 * 4" (identifier "iVar7") (* "*") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 < iVar3)" (( "(") (binary_expression "iVar7 < iVar3" (identifier "iVar7") (< "<") (identifier "iVar3")) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar6 = PTR_ssh_zlib_000b2978;" (assignment_expression "puVar6 = PTR_ssh_zlib_000b2978" (identifier "puVar6") (= "=") (identifier "PTR_ssh_zlib_000b2978")) (; ";")) (expression_statement "piVar14 = piVar14 + 0x30;" (assignment_expression "piVar14 = piVar14 + 0x30" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 0x30" (identifier "piVar14") (+ "+") (number_literal "0x30"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar18 + 0x173 != piVar14)" (( "(") (binary_expression "piVar18 + 0x173 != piVar14" (binary_expression "piVar18 + 0x173" (identifier "piVar18") (+ "+") (number_literal "0x173")) (!= "!=") (identifier "piVar14")) () ")")) (; ";")) (expression_statement "puVar26 = PTR_DAT_000b2398 + 0x1240;" (assignment_expression "puVar26 = PTR_DAT_000b2398 + 0x1240" (identifier "puVar26") (= "=") (binary_expression "PTR_DAT_000b2398 + 0x1240" (identifier "PTR_DAT_000b2398") (+ "+") (number_literal "0x1240"))) (; ";")) (expression_statement "uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;" (assignment_expression "uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)PTR_ssh_zlib_000b2978" (* "*") (cast_expression "(undefined4 *)PTR_ssh_zlib_000b2978" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh_zlib_000b2978")))) (; ";")) (expression_statement "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;" (assignment_expression "puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4" (identifier "puVar5") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4ea4" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4ea4"))) (; ";")) (expression_statement "piVar14 = piVar18 + 0x173;" (assignment_expression "piVar14 = piVar18 + 0x173" (identifier "piVar14") (= "=") (binary_expression "piVar18 + 0x173" (identifier "piVar18") (+ "+") (number_literal "0x173"))) (; ";")) (do_statement "do {\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      } while (piVar18 + 0x1d3 != piVar23);" (do "do") (compound_statement "{\n        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);\n        iVar16 = piVar18[0x4a];\n        iVar12 = piVar18[0x4b];\n        *(int *)(iVar3 + 4) = iVar16;\n        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }\n        iVar3 = FUN_0003abdc(piVar14,uVar22);\n        iVar16 = piVar18[0x4b];\n        *(undefined **)(iVar3 + 4) = puVar6;\n        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }\n        piVar23 = piVar14 + 0x30;\n        iVar3 = FUN_0003abdc(piVar14,puVar5);\n        *(undefined **)(iVar3 + 4) = puVar26;\n        piVar14 = piVar23;\n      }" ({ "{") (expression_statement "iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a])" (identifier "iVar3") (= "=") (call_expression "FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a])" (identifier "FUN_0003abdc") (argument_list "(piVar14,*(undefined4 *)piVar18[0x4a])" (( "(") (identifier "piVar14") (, ",") (pointer_expression "*(undefined4 *)piVar18[0x4a]" (* "*") (cast_expression "(undefined4 *)piVar18[0x4a]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x4a]" (identifier "piVar18") ([ "[") (number_literal "0x4a") (] "]")))) () ")")))) (; ";")) (expression_statement "iVar16 = piVar18[0x4a];" (assignment_expression "iVar16 = piVar18[0x4a]" (identifier "iVar16") (= "=") (subscript_expression "piVar18[0x4a]" (identifier "piVar18") ([ "[") (number_literal "0x4a") (] "]"))) (; ";")) (expression_statement "iVar12 = piVar18[0x4b];" (assignment_expression "iVar12 = piVar18[0x4b]" (identifier "iVar12") (= "=") (subscript_expression "piVar18[0x4b]" (identifier "piVar18") ([ "[") (number_literal "0x4b") (] "]"))) (; ";")) (expression_statement "*(int *)(iVar3 + 4) = iVar16;" (assignment_expression "*(int *)(iVar3 + 4) = iVar16" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (if_statement "if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }" (if "if") (parenthesized_expression "((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0))" (( "(") (binary_expression "(iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)" (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar16 + 4) != 0)" (( "(") (binary_expression "*(int *)(iVar16 + 4) != 0" (pointer_expression "*(int *)(iVar16 + 4)" (* "*") (cast_expression "(int *)(iVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 4)" (( "(") (binary_expression "iVar16 + 4" (identifier "iVar16") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar3 = FUN_0003abdc(piVar14);\n          *(int *)(iVar3 + 4) = piVar18[0x4a];\n        }" ({ "{") (expression_statement "iVar3 = FUN_0003abdc(piVar14);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14)" (identifier "iVar3") (= "=") (call_expression "FUN_0003abdc(piVar14)" (identifier "FUN_0003abdc") (argument_list "(piVar14)" (( "(") (identifier "piVar14") () ")")))) (; ";")) (expression_statement "*(int *)(iVar3 + 4) = piVar18[0x4a];" (assignment_expression "*(int *)(iVar3 + 4) = piVar18[0x4a]" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (subscript_expression "piVar18[0x4a]" (identifier "piVar18") ([ "[") (number_literal "0x4a") (] "]"))) (; ";")) (} "}"))) (expression_statement "iVar3 = FUN_0003abdc(piVar14,uVar22);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14,uVar22)" (identifier "iVar3") (= "=") (call_expression "FUN_0003abdc(piVar14,uVar22)" (identifier "FUN_0003abdc") (argument_list "(piVar14,uVar22)" (( "(") (identifier "piVar14") (, ",") (identifier "uVar22") () ")")))) (; ";")) (expression_statement "iVar16 = piVar18[0x4b];" (assignment_expression "iVar16 = piVar18[0x4b]" (identifier "iVar16") (= "=") (subscript_expression "piVar18[0x4b]" (identifier "piVar18") ([ "[") (number_literal "0x4b") (] "]"))) (; ";")) (expression_statement "*(undefined **)(iVar3 + 4) = puVar6;" (assignment_expression "*(undefined **)(iVar3 + 4) = puVar6" (pointer_expression "*(undefined **)(iVar3 + 4)" (* "*") (cast_expression "(undefined **)(iVar3 + 4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "puVar6")) (; ";")) (if_statement "if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }" (if "if") (parenthesized_expression "((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0))" (( "(") (binary_expression "(iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)" (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(puVar6 + 4) != 0)" (( "(") (binary_expression "*(int *)(puVar6 + 4) != 0" (pointer_expression "*(int *)(puVar6 + 4)" (* "*") (cast_expression "(int *)(puVar6 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6 + 4)" (( "(") (binary_expression "puVar6 + 4" (identifier "puVar6") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar3 = FUN_0003abdc(piVar14);\n          *(undefined **)(iVar3 + 4) = puVar6;\n        }" ({ "{") (expression_statement "iVar3 = FUN_0003abdc(piVar14);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14)" (identifier "iVar3") (= "=") (call_expression "FUN_0003abdc(piVar14)" (identifier "FUN_0003abdc") (argument_list "(piVar14)" (( "(") (identifier "piVar14") () ")")))) (; ";")) (expression_statement "*(undefined **)(iVar3 + 4) = puVar6;" (assignment_expression "*(undefined **)(iVar3 + 4) = puVar6" (pointer_expression "*(undefined **)(iVar3 + 4)" (* "*") (cast_expression "(undefined **)(iVar3 + 4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "puVar6")) (; ";")) (} "}"))) (expression_statement "piVar23 = piVar14 + 0x30;" (assignment_expression "piVar23 = piVar14 + 0x30" (identifier "piVar23") (= "=") (binary_expression "piVar14 + 0x30" (identifier "piVar14") (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "iVar3 = FUN_0003abdc(piVar14,puVar5);" (assignment_expression "iVar3 = FUN_0003abdc(piVar14,puVar5)" (identifier "iVar3") (= "=") (call_expression "FUN_0003abdc(piVar14,puVar5)" (identifier "FUN_0003abdc") (argument_list "(piVar14,puVar5)" (( "(") (identifier "piVar14") (, ",") (identifier "puVar5") () ")")))) (; ";")) (expression_statement "*(undefined **)(iVar3 + 4) = puVar26;" (assignment_expression "*(undefined **)(iVar3 + 4) = puVar26" (pointer_expression "*(undefined **)(iVar3 + 4)" (* "*") (cast_expression "(undefined **)(iVar3 + 4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "puVar26")) (; ";")) (expression_statement "piVar14 = piVar23;" (assignment_expression "piVar14 = piVar23" (identifier "piVar14") (= "=") (identifier "piVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar18 + 0x1d3 != piVar23)" (( "(") (binary_expression "piVar18 + 0x1d3 != piVar23" (binary_expression "piVar18 + 0x1d3" (identifier "piVar18") (+ "+") (number_literal "0x1d3")) (!= "!=") (identifier "piVar23")) () ")")) (; ";")) (expression_statement "iVar16 = 0x10;" (assignment_expression "iVar16 = 0x10" (identifier "iVar16") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "iVar3 = FUN_0003b04c(0x14);" (assignment_expression "iVar3 = FUN_0003b04c(0x14)" (identifier "iVar3") (= "=") (call_expression "FUN_0003b04c(0x14)" (identifier "FUN_0003b04c") (argument_list "(0x14)" (( "(") (number_literal "0x14") () ")")))) (; ";")) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (while_statement "while( true ) {\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        iVar16 = iVar16 + -1;\n        uVar9 = (*(code *)PTR_random_byte_000b28d4)();\n        local_54 = CONCAT13(uVar9,local_54._1_3_);\n        FUN_0003aef4(iVar3,&local_54,1);\n        if (iVar16 == 0) break;\n        iVar3 = piVar18[0x4f];\n      }" ({ "{") (expression_statement "iVar16 = iVar16 + -1;" (assignment_expression "iVar16 = iVar16 + -1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar9 = (*(code *)PTR_random_byte_000b28d4)();" (assignment_expression "uVar9 = (*(code *)PTR_random_byte_000b28d4)()" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_random_byte_000b28d4)()" (parenthesized_expression "(*(code *)PTR_random_byte_000b28d4)" (( "(") (pointer_expression "*(code *)PTR_random_byte_000b28d4" (* "*") (cast_expression "(code *)PTR_random_byte_000b28d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_random_byte_000b28d4"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_54 = CONCAT13(uVar9,local_54._1_3_);" (assignment_expression "local_54 = CONCAT13(uVar9,local_54._1_3_)" (identifier "local_54") (= "=") (call_expression "CONCAT13(uVar9,local_54._1_3_)" (identifier "CONCAT13") (argument_list "(uVar9,local_54._1_3_)" (( "(") (identifier "uVar9") (, ",") (field_expression "local_54._1_3_" (identifier "local_54") (. ".") (field_identifier "_1_3_")) () ")")))) (; ";")) (expression_statement "FUN_0003aef4(iVar3,&local_54,1);" (call_expression "FUN_0003aef4(iVar3,&local_54,1)" (identifier "FUN_0003aef4") (argument_list "(iVar3,&local_54,1)" (( "(") (identifier "iVar3") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (number_literal "1") () ")"))) (; ";")) (if_statement "if (iVar16 == 0) break;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar3 = piVar18[0x4f];" (assignment_expression "iVar3 = piVar18[0x4f]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]"))) (; ";")) (} "}"))) (expression_statement "piVar14 = piVar18 + 0x30;" (assignment_expression "piVar14 = piVar18 + 0x30" (identifier "piVar14") (= "=") (binary_expression "piVar18 + 0x30" (identifier "piVar18") (+ "+") (number_literal "0x30"))) (; ";")) (expression_statement "piVar23 = (int *)piVar18[0x4f];" (assignment_expression "piVar23 = (int *)piVar18[0x4f]" (identifier "piVar23") (= "=") (cast_expression "(int *)piVar18[0x4f]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")))) (; ";")) (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470" (identifier "puVar6") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x470" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x470"))) (; ";")) (do_statement "do {\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      } while (piVar18 + 0x1b0 != piVar14);" (do "do") (compound_statement "{\n        local_30 = 0;\n        FUN_0003aef4(piVar23,&local_30,4);\n        piVar29 = piVar14 + -0x30;\n        piVar23[6] = *piVar23;\n        do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);\n        piVar23 = (int *)piVar18[0x4f];\nLAB_00043918:\n        piVar14 = piVar14 + 0x30;\n      }" ({ "{") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0003aef4(piVar23,&local_30,4);" (call_expression "FUN_0003aef4(piVar23,&local_30,4)" (identifier "FUN_0003aef4") (argument_list "(piVar23,&local_30,4)" (( "(") (identifier "piVar23") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "piVar29 = piVar14 + -0x30;" (assignment_expression "piVar29 = piVar14 + -0x30" (identifier "piVar29") (= "=") (binary_expression "piVar14 + -0x30" (identifier "piVar14") (+ "+") (number_literal "-0x30"))) (; ";")) (expression_statement "piVar23[6] = *piVar23;" (assignment_expression "piVar23[6] = *piVar23" (subscript_expression "piVar23[6]" (identifier "piVar23") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (do_statement "do {\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        } while (piVar14 != piVar29);" (do "do") (compound_statement "{\n          iVar3 = piVar29[0x53];\n          piVar23 = (int *)piVar18[0x4f];\n          if (iVar3 == 0) goto LAB_00043918;\n          if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }\n          piVar29 = piVar29 + 3;\n          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);\n          FUN_0003b124(piVar23,iVar3,uVar22);\n        }" ({ "{") (expression_statement "iVar3 = piVar29[0x53];" (assignment_expression "iVar3 = piVar29[0x53]" (identifier "iVar3") (= "=") (subscript_expression "piVar29[0x53]" (identifier "piVar29") ([ "[") (number_literal "0x53") (] "]"))) (; ";")) (expression_statement "piVar23 = (int *)piVar18[0x4f];" (assignment_expression "piVar23 = (int *)piVar18[0x4f]" (identifier "piVar23") (= "=") (cast_expression "(int *)piVar18[0x4f]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_00043918;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00043918;" (goto "goto") (statement_identifier "LAB_00043918") (; ";"))) (if_statement "if (0 < *piVar23 - piVar23[6]) {\n            FUN_0003b124(piVar23,puVar6,1);\n          }" (if "if") (parenthesized_expression "(0 < *piVar23 - piVar23[6])" (( "(") (binary_expression "0 < *piVar23 - piVar23[6]" (number_literal "0") (< "<") (binary_expression "*piVar23 - piVar23[6]" (pointer_expression "*piVar23" (* "*") (identifier "piVar23")) (- "-") (subscript_expression "piVar23[6]" (identifier "piVar23") ([ "[") (number_literal "6") (] "]")))) () ")")) (compound_statement "{\n            FUN_0003b124(piVar23,puVar6,1);\n          }" ({ "{") (expression_statement "FUN_0003b124(piVar23,puVar6,1);" (call_expression "FUN_0003b124(piVar23,puVar6,1)" (identifier "FUN_0003b124") (argument_list "(piVar23,puVar6,1)" (( "(") (identifier "piVar23") (, ",") (identifier "puVar6") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar29 = piVar29 + 3;" (assignment_expression "piVar29 = piVar29 + 3" (identifier "piVar29") (= "=") (binary_expression "piVar29 + 3" (identifier "piVar29") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);" (assignment_expression "uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3)" (identifier "uVar22") (= "=") (call_expression "(*(code *)PTR_strlen_000b2e48)(iVar3)" (parenthesized_expression "(*(code *)PTR_strlen_000b2e48)" (( "(") (pointer_expression "*(code *)PTR_strlen_000b2e48" (* "*") (cast_expression "(code *)PTR_strlen_000b2e48" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000b2e48"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "FUN_0003b124(piVar23,iVar3,uVar22);" (call_expression "FUN_0003b124(piVar23,iVar3,uVar22)" (identifier "FUN_0003b124") (argument_list "(piVar23,iVar3,uVar22)" (( "(") (identifier "piVar23") (, ",") (identifier "iVar3") (, ",") (identifier "uVar22") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar14 != piVar29)" (( "(") (binary_expression "piVar14 != piVar29" (identifier "piVar14") (!= "!=") (identifier "piVar29")) () ")")) (; ";")) (expression_statement "piVar23 = (int *)piVar18[0x4f];" (assignment_expression "piVar23 = (int *)piVar18[0x4f]" (identifier "piVar23") (= "=") (cast_expression "(int *)piVar18[0x4f]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")))) (; ";")) (labeled_statement "LAB_00043918:\n        piVar14 = piVar14 + 0x30;" (statement_identifier "LAB_00043918") (: ":") (expression_statement "piVar14 = piVar14 + 0x30;" (assignment_expression "piVar14 = piVar14 + 0x30" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 0x30" (identifier "piVar14") (+ "+") (number_literal "0x30"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(piVar18 + 0x1b0 != piVar14)" (( "(") (binary_expression "piVar18 + 0x1b0 != piVar14" (binary_expression "piVar18 + 0x1b0" (identifier "piVar18") (+ "+") (number_literal "0x1b0")) (!= "!=") (identifier "piVar14")) () ")")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0003aef4(piVar23,&local_30,4);" (call_expression "FUN_0003aef4(piVar23,&local_30,4)" (identifier "FUN_0003aef4") (argument_list "(piVar23,&local_30,4)" (( "(") (identifier "piVar23") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "puVar19 = (undefined4 *)piVar18[0x4f];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x4f]" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)piVar18[0x4f]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")))) (; ";")) (expression_statement "piVar23[6] = *piVar23;" (assignment_expression "piVar23[6] = *piVar23" (subscript_expression "piVar23[6]" (identifier "piVar23") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0003aef4(puVar19,&local_30,4);" (call_expression "FUN_0003aef4(puVar19,&local_30,4)" (identifier "FUN_0003aef4") (argument_list "(puVar19,&local_30,4)" (( "(") (identifier "puVar19") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar3 = piVar18[0x4f];" (assignment_expression "iVar3 = piVar18[0x4f]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]"))) (; ";")) (expression_statement "puVar19[6] = *puVar19;" (assignment_expression "puVar19[6] = *puVar19" (subscript_expression "puVar19[6]" (identifier "puVar19") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (; ";")) (expression_statement "local_54 = local_54 & 0xffffff;" (assignment_expression "local_54 = local_54 & 0xffffff" (identifier "local_54") (= "=") (binary_expression "local_54 & 0xffffff" (identifier "local_54") (& "&") (number_literal "0xffffff"))) (; ";")) (expression_statement "FUN_0003aef4(iVar3,&local_54,1);" (call_expression "FUN_0003aef4(iVar3,&local_54,1)" (identifier "FUN_0003aef4") (argument_list "(iVar3,&local_54,1)" (( "(") (identifier "iVar3") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0003aef4(piVar18[0x4f],&local_30,4);" (call_expression "FUN_0003aef4(piVar18[0x4f],&local_30,4)" (identifier "FUN_0003aef4") (argument_list "(piVar18[0x4f],&local_30,4)" (( "(") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "puVar6 = PTR_safemalloc_000b2408;" (assignment_expression "puVar6 = PTR_safemalloc_000b2408" (identifier "puVar6") (= "=") (identifier "PTR_safemalloc_000b2408")) (; ";")) (expression_statement "iVar3 = *(int *)piVar18[0x4f];" (assignment_expression "iVar3 = *(int *)piVar18[0x4f]" (identifier "iVar3") (= "=") (pointer_expression "*(int *)piVar18[0x4f]" (* "*") (cast_expression "(int *)piVar18[0x4f]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]"))))) (; ";")) (expression_statement "piVar18[0xd] = iVar3 + -5;" (assignment_expression "piVar18[0xd] = iVar3 + -5" (subscript_expression "piVar18[0xd]" (identifier "piVar18") ([ "[") (number_literal "0xd") (] "]")) (= "=") (binary_expression "iVar3 + -5" (identifier "iVar3") (+ "+") (number_literal "-5"))) (; ";")) (expression_statement "iVar3 = (*(code *)puVar6)(iVar3 + -5,1);" (assignment_expression "iVar3 = (*(code *)puVar6)(iVar3 + -5,1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar6)(iVar3 + -5,1)" (parenthesized_expression "(*(code *)puVar6)" (( "(") (pointer_expression "*(code *)puVar6" (* "*") (cast_expression "(code *)puVar6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar6"))) () ")")) (argument_list "(iVar3 + -5,1)" (( "(") (binary_expression "iVar3 + -5" (identifier "iVar3") (+ "+") (number_literal "-5")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "piVar18[0xc] = iVar3;" (assignment_expression "piVar18[0xc] = iVar3" (subscript_expression "piVar18[0xc]" (identifier "piVar18") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "(*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);" (call_expression "(*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd])" (parenthesized_expression "(*(code *)PTR_memcpy_000b2f08)" (( "(") (pointer_expression "*(code *)PTR_memcpy_000b2f08" (* "*") (cast_expression "(code *)PTR_memcpy_000b2f08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_000b2f08"))) () ")")) (argument_list "(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd])" (( "(") (identifier "iVar3") (, ",") (binary_expression "*(int *)(piVar18[0x4f] + 0x10) + 5" (pointer_expression "*(int *)(piVar18[0x4f] + 0x10)" (* "*") (cast_expression "(int *)(piVar18[0x4f] + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar18[0x4f] + 0x10)" (( "(") (binary_expression "piVar18[0x4f] + 0x10" (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "5")) (, ",") (subscript_expression "piVar18[0xd]" (identifier "piVar18") ([ "[") (number_literal "0xd") (] "]")) () ")"))) (; ";")) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" (identifier "piVar14") (= "=") (identifier "param_1")) (; ";")) (expression_statement "FUN_00046280(param_1,piVar18[0x4f]);" (call_expression "FUN_00046280(param_1,piVar18[0x4f])" (identifier "FUN_00046280") (argument_list "(param_1,piVar18[0x4f])" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) () ")"))) (; ";")) (goto_statement "goto LAB_000439fc;" (goto "goto") (statement_identifier "LAB_000439fc") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00042f14:\n  *piVar18 = 0;" (statement_identifier "LAB_00042f14") (: ":") (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (labeled_statement "LAB_00042f18:\n  if (local_2c == *(int *)puVar2) {\n    return;\n  }" (statement_identifier "LAB_00042f18") (: ":") (if_statement "if (local_2c == *(int *)puVar2) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar2)" (( "(") (binary_expression "local_2c == *(int *)puVar2" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "puVar15 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar15 = PTR___stack_chk_fail_000b2ed8" (identifier "puVar15") (= "=") (identifier "PTR___stack_chk_fail_000b2ed8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000b2ed8)();" (call_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000b2ed8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000b2ed8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000b2ed8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000b2ed8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);" (assignment_expression "iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b])" (identifier "iVar3") (= "=") (call_expression "FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b])" (identifier "FUN_0003c960") (argument_list "(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b])" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) (, ",") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "param_1[0x5a]" (identifier "param_1") ([ "[") (number_literal "0x5a") (] "]")) (, ",") (subscript_expression "param_1[0x5b]" (identifier "param_1") ([ "[") (number_literal "0x5b") (] "]")) () ")")))) (; ";")) (expression_statement "param_1[0x5c] = 0;" (assignment_expression "param_1[0x5c] = 0" (subscript_expression "param_1[0x5c]" (identifier "param_1") ([ "[") (number_literal "0x5c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar28 = *(code **)(puVar15 + 0x6c288);" (assignment_expression "pcVar28 = *(code **)(puVar15 + 0x6c288)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(puVar15 + 0x6c288)" (* "*") (cast_expression "(code **)(puVar15 + 0x6c288)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x6c288)" (( "(") (binary_expression "puVar15 + 0x6c288" (identifier "puVar15") (+ "+") (number_literal "0x6c288")) () ")"))))) (; ";")) (expression_statement "param_1[0x5b] = 0;" (assignment_expression "param_1[0x5b] = 0" (subscript_expression "param_1[0x5b]" (identifier "param_1") ([ "[") (number_literal "0x5b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*pcVar28)(param_1[0x5a]);" (call_expression "(*pcVar28)(param_1[0x5a])" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(param_1[0x5a])" (( "(") (subscript_expression "param_1[0x5a]" (identifier "param_1") ([ "[") (number_literal "0x5a") (] "]")) () ")"))) (; ";")) (expression_statement "param_1[0x5a] = 0;" (assignment_expression "param_1[0x5a] = 0" (subscript_expression "param_1[0x5a]" (identifier "param_1") ([ "[") (number_literal "0x5a") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }" (if "if") (parenthesized_expression "((0x8000 < iVar3) && (param_1[0x69] != 1))" (( "(") (binary_expression "(0x8000 < iVar3) && (param_1[0x69] != 1)" (parenthesized_expression "(0x8000 < iVar3)" (( "(") (binary_expression "0x8000 < iVar3" (number_literal "0x8000") (< "<") (identifier "iVar3")) () ")")) (&& "&&") (parenthesized_expression "(param_1[0x69] != 1)" (( "(") (binary_expression "param_1[0x69] != 1" (subscript_expression "param_1[0x69]" (identifier "param_1") ([ "[") (number_literal "0x69") (] "]")) (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n    param_1[0x69] = 1;\n    param_1[0x68] = iVar3;\n    if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }\n  }" ({ "{") (expression_statement "param_1[0x69] = 1;" (assignment_expression "param_1[0x69] = 1" (subscript_expression "param_1[0x69]" (identifier "param_1") ([ "[") (number_literal "0x69") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0x68] = iVar3;" (assignment_expression "param_1[0x68] = iVar3" (subscript_expression "param_1[0x68]" (identifier "param_1") ([ "[") (number_literal "0x68") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (param_1[0x49] != 0) {\n      FUN_000492b0(param_1,1);\n    }" (if "if") (parenthesized_expression "(param_1[0x49] != 0)" (( "(") (binary_expression "param_1[0x49] != 0" (subscript_expression "param_1[0x49]" (identifier "param_1") ([ "[") (number_literal "0x49") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_000492b0(param_1,1);\n    }" ({ "{") (expression_statement "FUN_000492b0(param_1,1);" (call_expression "FUN_000492b0(param_1,1)" (identifier "FUN_000492b0") (argument_list "(param_1,1)" (( "(") (identifier "param_1") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (param_1[0x66] == 2) {\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(param_1[0x66] == 2)" (( "(") (binary_expression "param_1[0x66] == 2" (subscript_expression "param_1[0x66]" (identifier "param_1") ([ "[") (number_literal "0x66") (] "]")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    iVar3 = param_1[0x1a2];\n    iVar16 = param_1[0x1a3];\n    param_1[0x1a3] = 0;\n    param_1[0x1a2] = iVar3 + iVar16;\n    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }\n  }" ({ "{") (expression_statement "iVar3 = param_1[0x1a2];" (assignment_expression "iVar3 = param_1[0x1a2]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x1a2]" (identifier "param_1") ([ "[") (number_literal "0x1a2") (] "]"))) (; ";")) (expression_statement "iVar16 = param_1[0x1a3];" (assignment_expression "iVar16 = param_1[0x1a3]" (identifier "iVar16") (= "=") (subscript_expression "param_1[0x1a3]" (identifier "param_1") ([ "[") (number_literal "0x1a3") (] "]"))) (; ";")) (expression_statement "param_1[0x1a3] = 0;" (assignment_expression "param_1[0x1a3] = 0" (subscript_expression "param_1[0x1a3]" (identifier "param_1") ([ "[") (number_literal "0x1a3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x1a2] = iVar3 + iVar16;" (assignment_expression "param_1[0x1a2] = iVar3 + iVar16" (subscript_expression "param_1[0x1a2]" (identifier "param_1") ([ "[") (number_literal "0x1a2") (] "]")) (= "=") (binary_expression "iVar3 + iVar16" (identifier "iVar3") (+ "+") (identifier "iVar16"))) (; ";")) (if_statement "if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }" (if "if") (parenthesized_expression "((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16)))" (( "(") (binary_expression "(((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&\n       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))" (parenthesized_expression "(((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0))" (( "(") (binary_expression "((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)" (parenthesized_expression "((param_1[0x1a5] == 0) && (param_1[0x3b] == 0))" (( "(") (binary_expression "(param_1[0x1a5] == 0) && (param_1[0x3b] == 0)" (parenthesized_expression "(param_1[0x1a5] == 0)" (( "(") (binary_expression "param_1[0x1a5] == 0" (subscript_expression "param_1[0x1a5]" (identifier "param_1") ([ "[") (number_literal "0x1a5") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_1[0x3b] == 0)" (( "(") (binary_expression "param_1[0x3b] == 0" (subscript_expression "param_1[0x3b]" (identifier "param_1") ([ "[") (number_literal "0x3b") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[0x1a4] != 0)" (( "(") (binary_expression "param_1[0x1a4] != 0" (subscript_expression "param_1[0x1a4]" (identifier "param_1") ([ "[") (number_literal "0x1a4") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))" (( "(") (binary_expression "(uint)param_1[0x1a4] < (uint)(iVar3 + iVar16)" (cast_expression "(uint)param_1[0x1a4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x1a4]" (identifier "param_1") ([ "[") (number_literal "0x1a4") (] "]"))) (< "<") (call_expression "(uint)(iVar3 + iVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar3 + iVar16)" (( "(") (binary_expression "iVar3 + iVar16" (identifier "iVar3") (+ "+") (identifier "iVar16")) () ")")))) () ")"))) () ")")) (compound_statement "{\n      FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);\n      return;\n    }" ({ "{") (expression_statement "FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);" (call_expression "FUN_00042dec(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0)" (identifier "FUN_00042dec") (argument_list "(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0)" (( "(") (identifier "param_1") (, ",") (binary_expression "*(int *)(puVar15 + 0x6c260) + 0x6294" (pointer_expression "*(int *)(puVar15 + 0x6c260)" (* "*") (cast_expression "(int *)(puVar15 + 0x6c260)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x6c260)" (( "(") (binary_expression "puVar15 + 0x6c260" (identifier "puVar15") (+ "+") (number_literal "0x6c260")) () ")")))) (+ "+") (number_literal "0x6294")) (, ",") (number_literal "0xffffffff") (, ",") (number_literal "0") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (labeled_statement "LAB_000456a8:\n  if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }" (statement_identifier "LAB_000456a8") (: ":") (if_statement "if (iVar3 != 0) {\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);\n    (*(code *)PTR_safefree_000b23d0)(iVar3);\n  }" ({ "{") (if_statement "if (iVar16 < 2) {\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }\n    else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }" (if "if") (parenthesized_expression "(iVar16 < 2)" (( "(") (binary_expression "iVar16 < 2" (identifier "iVar16") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;\n    }" ({ "{") (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "puVar6") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4f64"))) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + -0x608" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "-0x608"))) (; ";")) (} "}")) (else_clause "else {\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }" (else "else") (compound_statement "{\n      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;\n    }" ({ "{") (expression_statement "puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;" (assignment_expression "puVar6 = PTR_s_entropy_source_000b23f0 + 0x330" (identifier "puVar6") (= "=") (binary_expression "PTR_s_entropy_source_000b23f0 + 0x330" (identifier "PTR_s_entropy_source_000b23f0") (+ "+") (number_literal "0x330"))) (; ";")) (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5850" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5850"))) (; ";")) (} "}")))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15)" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f5c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5f5c")) (, ",") (identifier "iVar3") (, ",") (identifier "puVar6") (, ",") (identifier "puVar15") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(iVar3);" (call_expression "(*(code *)PTR_safefree_000b23d0)(iVar3)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);" (assignment_expression "iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22])" (parenthesized_expression "(*(code *)PTR_ssh2_fingerprint_000b29f8)" (( "(") (pointer_expression "*(code *)PTR_ssh2_fingerprint_000b29f8" (* "*") (cast_expression "(code *)PTR_ssh2_fingerprint_000b29f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ssh2_fingerprint_000b29f8"))) () ")")) (argument_list "(param_1[0x27],piVar18[0x22])" (( "(") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (, ",") (subscript_expression "piVar18[0x22]" (identifier "piVar18") ([ "[") (number_literal "0x22") (] "]")) () ")")))) (; ";")) (expression_statement "iVar16 = param_1[0x44];" (assignment_expression "iVar16 = param_1[0x44]" (identifier "iVar16") (= "=") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]"))) (; ";")) (expression_statement "piVar18[0x1e] = iVar3;" (assignment_expression "piVar18[0x1e] = iVar3" (subscript_expression "piVar18[0x1e]" (identifier "piVar18") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "(*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);" (call_expression "(*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90)" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" (( "(") (pointer_expression "*(code *)PTR_logevent_000b242c" (* "*") (cast_expression "(code *)PTR_logevent_000b242c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_logevent_000b242c"))) () ")")) (argument_list "(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90)" (( "(") (identifier "iVar16") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5f90" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5f90")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);" (call_expression "(*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_logevent_000b242c)" (( "(") (pointer_expression "*(code *)PTR_logevent_000b242c" (* "*") (cast_expression "(code *)PTR_logevent_000b242c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_logevent_000b242c"))) () ")")) (argument_list "(param_1[0x44],piVar18[0x1e])" (( "(") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")) (, ",") (subscript_expression "piVar18[0x1e]" (identifier "piVar18") ([ "[") (number_literal "0x1e") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);" (assignment_expression "iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22])" (identifier "iVar3") (= "=") (call_expression "verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22])" (identifier "verify_ssh_manual_host_key") (argument_list "(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22])" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0x1e]" (identifier "piVar18") ([ "[") (number_literal "0x1e") (] "]")) (, ",") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (, ",") (subscript_expression "piVar18[0x22]" (identifier "piVar18") ([ "[") (number_literal "0x22") (] "]")) () ")")))) (; ";")) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 == 0) {\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;\n    goto LAB_0004361c;\n  }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x5fac" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x5fac"))) (; ";")) (goto_statement "goto LAB_0004361c;" (goto "goto") (statement_identifier "LAB_0004361c") (; ";")) (} "}"))) (if_statement "if (iVar3 < 0) {\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }\n    puVar15 = PTR_verify_ssh_host_key_000b2a00;\n    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);\n    puVar6 = PTR_LAB_000b28f8 + -0xf58;\n    iVar3 = piVar18[0x1e];\n    piVar14 = (int *)param_1[0x44];\n    param_1[0x98] = 1;\n    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);\n    piVar18[0x50] = iVar3;\n    if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }\nLAB_00043094:\n    piVar14 = (int *)param_1[4];\n    if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }\n    param_1[0x98] = 0;\n    if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }\n  }" ({ "{") (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(*piVar14 + 0x18))(piVar14,1);\n    }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,1);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,1)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,1)" (( "(") (identifier "piVar14") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar15 = PTR_verify_ssh_host_key_000b2a00;" (assignment_expression "puVar15 = PTR_verify_ssh_host_key_000b2a00" (identifier "puVar15") (= "=") (identifier "PTR_verify_ssh_host_key_000b2a00")) (; ";")) (expression_statement "uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);" (assignment_expression "uVar22 = *(undefined4 *)(param_1[0x27] + 0x34)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)(param_1[0x27] + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1[0x27] + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x27] + 0x34)" (( "(") (binary_expression "param_1[0x27] + 0x34" (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]")) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "puVar6 = PTR_LAB_000b28f8 + -0xf58;" (assignment_expression "puVar6 = PTR_LAB_000b28f8 + -0xf58" (identifier "puVar6") (= "=") (binary_expression "PTR_LAB_000b28f8 + -0xf58" (identifier "PTR_LAB_000b28f8") (+ "+") (number_literal "-0xf58"))) (; ";")) (expression_statement "iVar3 = piVar18[0x1e];" (assignment_expression "iVar3 = piVar18[0x1e]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x1e]" (identifier "piVar18") ([ "[") (number_literal "0x1e") (] "]"))) (; ";")) (expression_statement "piVar14 = (int *)param_1[0x44];" (assignment_expression "piVar14 = (int *)param_1[0x44]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[0x44]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x44]" (identifier "param_1") ([ "[") (number_literal "0x44") (] "]")))) (; ";")) (expression_statement "param_1[0x98] = 1;" (assignment_expression "param_1[0x98] = 1" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1);" (assignment_expression "iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1)" (parenthesized_expression "(*(code *)puVar15)" (( "(") (pointer_expression "*(code *)puVar15" (* "*") (cast_expression "(code *)puVar15" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) () ")")) (argument_list "(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6\n                               ,param_1)" (( "(") (identifier "piVar14") (, ",") (subscript_expression "param_1[0x3e]" (identifier "param_1") ([ "[") (number_literal "0x3e") (] "]")) (, ",") (subscript_expression "param_1[0x3f]" (identifier "param_1") ([ "[") (number_literal "0x3f") (] "]")) (, ",") (identifier "uVar22") (, ",") (subscript_expression "piVar18[0x1d]" (identifier "piVar18") ([ "[") (number_literal "0x1d") (] "]")) (, ",") (identifier "iVar3") (, ",") (identifier "puVar6") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "piVar18[0x50] = iVar3;" (assignment_expression "piVar18[0x50] = iVar3" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 < 0) {\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000457e0:\n      *piVar18 = 0x1cf9;\n      param_1 = piVar14;\n      goto LAB_00042f18;\n    }" ({ "{") (labeled_statement "LAB_000457e0:\n      *piVar18 = 0x1cf9;" (statement_identifier "LAB_000457e0") (: ":") (expression_statement "*piVar18 = 0x1cf9;" (assignment_expression "*piVar18 = 0x1cf9" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1cf9")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (labeled_statement "LAB_00043094:\n    piVar14 = (int *)param_1[4];" (statement_identifier "LAB_00043094") (: ":") (expression_statement "piVar14 = (int *)param_1[4];" (assignment_expression "piVar14 = (int *)param_1[4]" (identifier "piVar14") (= "=") (cast_expression "(int *)param_1[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (if_statement "if (piVar14 != (int *)0x0) {\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(*piVar14 + 0x18))(piVar14,0);\n    }" ({ "{") (expression_statement "(**(code **)(*piVar14 + 0x18))(piVar14,0);" (call_expression "(**(code **)(*piVar14 + 0x18))(piVar14,0)" (parenthesized_expression "(**(code **)(*piVar14 + 0x18))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x18)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x18)" (* "*") (cast_expression "(code **)(*piVar14 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x18)" (( "(") (binary_expression "*piVar14 + 0x18" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar14,0)" (( "(") (identifier "piVar14") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[0x98] = 0;" (assignment_expression "param_1[0x98] = 0" (subscript_expression "param_1[0x98]" (identifier "param_1") ([ "[") (number_literal "0x98") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar18[0x50] == 0) {\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }" (if "if") (parenthesized_expression "(piVar18[0x50] == 0)" (( "(") (binary_expression "piVar18[0x50] == 0" (subscript_expression "piVar18[0x50]" (identifier "piVar18") ([ "[") (number_literal "0x50") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;\nLAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);\n      *piVar18 = 0;\n      goto LAB_00042f18;\n    }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6028" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x6028"))) (; ";")) (labeled_statement "LAB_00045800:\n      FUN_00047994(param_1,puVar15,0,0,1);" (statement_identifier "LAB_00045800") (: ":") (expression_statement "FUN_00047994(param_1,puVar15,0,0,1);" (call_expression "FUN_00047994(param_1,puVar15,0,0,1)" (identifier "FUN_00047994") (argument_list "(param_1,puVar15,0,0,1)" (( "(") (identifier "param_1") (, ",") (identifier "puVar15") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";"))) (expression_statement "*piVar18 = 0;" (assignment_expression "*piVar18 = 0" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (} "}"))) (} "}"))) (expression_statement "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);" (call_expression "(*(code *)PTR_safefree_000b23d0)(piVar18[0x1e])" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(piVar18[0x1e])" (( "(") (subscript_expression "piVar18[0x1e]" (identifier "piVar18") ([ "[") (number_literal "0x1e") (] "]")) () ")"))) (; ";")) (expression_statement "param_1[0x28] = piVar18[0x1d];" (assignment_expression "param_1[0x28] = piVar18[0x1d]" (subscript_expression "param_1[0x28]" (identifier "param_1") ([ "[") (number_literal "0x28") (] "]")) (= "=") (subscript_expression "piVar18[0x1d]" (identifier "piVar18") ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (labeled_statement "LAB_000430d8:\n  iVar3 = param_1[0x27];" (statement_identifier "LAB_000430d8") (: ":") (expression_statement "iVar3 = param_1[0x27];" (assignment_expression "iVar3 = param_1[0x27]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x27]" (identifier "param_1") ([ "[") (number_literal "0x27") (] "]"))) (; ";"))) (labeled_statement "LAB_000430dc:\n  (**(code **)(iVar3 + 4))(piVar18[0x22]);" (statement_identifier "LAB_000430dc") (: ":") (expression_statement "(**(code **)(iVar3 + 4))(piVar18[0x22]);" (call_expression "(**(code **)(iVar3 + 4))(piVar18[0x22])" (parenthesized_expression "(**(code **)(iVar3 + 4))" (( "(") (pointer_expression "**(code **)(iVar3 + 4)" (* "*") (pointer_expression "*(code **)(iVar3 + 4)" (* "*") (cast_expression "(code **)(iVar3 + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(piVar18[0x22])" (( "(") (subscript_expression "piVar18[0x22]" (identifier "piVar18") ([ "[") (number_literal "0x22") (] "]")) () ")"))) (; ";"))) (if_statement "if (piVar18[0x4d] == 0) {\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }" (if "if") (parenthesized_expression "(piVar18[0x4d] == 0)" (( "(") (binary_expression "piVar18[0x4d] == 0" (subscript_expression "piVar18[0x4d]" (identifier "piVar18") ([ "[") (number_literal "0x4d") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar23 = piVar18 + 0x25;\n    piVar14 = param_1 + 0x29;\n    do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);\n    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);\n    param_1[0x39] = uVar4;\n    if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }\n    piVar18[0x4d] = 1;\n  }" ({ "{") (expression_statement "piVar23 = piVar18 + 0x25;" (assignment_expression "piVar23 = piVar18 + 0x25" (identifier "piVar23") (= "=") (binary_expression "piVar18 + 0x25" (identifier "piVar18") (+ "+") (number_literal "0x25"))) (; ";")) (expression_statement "piVar14 = param_1 + 0x29;" (assignment_expression "piVar14 = param_1 + 0x29" (identifier "piVar14") (= "=") (binary_expression "param_1 + 0x29" (identifier "param_1") (+ "+") (number_literal "0x29"))) (; ";")) (do_statement "do {\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    } while (piVar23 != piVar18 + 0x35);" (do "do") (compound_statement "{\n      iVar7 = *piVar23;\n      iVar12 = piVar23[1];\n      iVar16 = piVar23[2];\n      iVar3 = piVar23[3];\n      piVar23 = piVar23 + 4;\n      *piVar14 = iVar7;\n      piVar14[1] = iVar12;\n      piVar14[2] = iVar16;\n      piVar14[3] = iVar3;\n      piVar14 = piVar14 + 4;\n    }" ({ "{") (expression_statement "iVar7 = *piVar23;" (assignment_expression "iVar7 = *piVar23" (identifier "iVar7") (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "iVar12 = piVar23[1];" (assignment_expression "iVar12 = piVar23[1]" (identifier "iVar12") (= "=") (subscript_expression "piVar23[1]" (identifier "piVar23") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar16 = piVar23[2];" (assignment_expression "iVar16 = piVar23[2]" (identifier "iVar16") (= "=") (subscript_expression "piVar23[2]" (identifier "piVar23") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar3 = piVar23[3];" (assignment_expression "iVar3 = piVar23[3]" (identifier "iVar3") (= "=") (subscript_expression "piVar23[3]" (identifier "piVar23") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "piVar23 = piVar23 + 4;" (assignment_expression "piVar23 = piVar23 + 4" (identifier "piVar23") (= "=") (binary_expression "piVar23 + 4" (identifier "piVar23") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*piVar14 = iVar7;" (assignment_expression "*piVar14 = iVar7" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "piVar14[1] = iVar12;" (assignment_expression "piVar14[1] = iVar12" (subscript_expression "piVar14[1]" (identifier "piVar14") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar14[2] = iVar16;" (assignment_expression "piVar14[2] = iVar16" (subscript_expression "piVar14[2]" (identifier "piVar14") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "piVar14[3] = iVar3;" (assignment_expression "piVar14[3] = iVar3" (subscript_expression "piVar14[3]" (identifier "piVar14") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "piVar14 = piVar14 + 4;" (assignment_expression "piVar14 = piVar14 + 4" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 4" (identifier "piVar14") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar23 != piVar18 + 0x35)" (( "(") (binary_expression "piVar23 != piVar18 + 0x35" (identifier "piVar23") (!= "!=") (binary_expression "piVar18 + 0x35" (identifier "piVar18") (+ "+") (number_literal "0x35"))) () ")")) (; ";")) (expression_statement "uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);" (assignment_expression "uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" (* "*") (cast_expression "(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1[0x26] + 0xc) + 0x14)" (( "(") (binary_expression "*(int *)(param_1[0x26] + 0xc) + 0x14" (pointer_expression "*(int *)(param_1[0x26] + 0xc)" (* "*") (cast_expression "(int *)(param_1[0x26] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x26] + 0xc)" (( "(") (binary_expression "param_1[0x26] + 0xc" (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "param_1[0x39] = uVar4;" (assignment_expression "param_1[0x39] = uVar4" (subscript_expression "param_1[0x39]" (identifier "param_1") ([ "[") (number_literal "0x39") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (0x40 < uVar4) {\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }" (if "if") (parenthesized_expression "(0x40 < uVar4)" (( "(") (binary_expression "0x40 < uVar4" (number_literal "0x40") (< "<") (identifier "uVar4")) () ")")) (compound_statement "{\n      (*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);\n      return;\n    }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);" (call_expression "(*(code *)PTR___assert_fail_000b2d2c)\n                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000b2d2c)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000b2d2c" (* "*") (cast_expression "(code *)PTR___assert_fail_000b2d2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000b2d2c"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x60a8,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,\n                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c)" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x60a8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x60a8")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x35c0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x35c0")) (, ",") (number_literal "0x1d37") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x7e6c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x7e6c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar18[0x4d] = 1;" (assignment_expression "piVar18[0x4d] = 1" (subscript_expression "piVar18[0x4d]" (identifier "piVar18") ([ "[") (number_literal "0x4d") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "iVar3 = FUN_0003b04c(0x15);" (assignment_expression "iVar3 = FUN_0003b04c(0x15)" (identifier "iVar3") (= "=") (call_expression "FUN_0003b04c(0x15)" (identifier "FUN_0003b04c") (argument_list "(0x15)" (( "(") (number_literal "0x15") () ")")))) (; ";")) (expression_statement "piVar18[0x4f] = iVar3;" (assignment_expression "piVar18[0x4f] = iVar3" (subscript_expression "piVar18[0x4f]" (identifier "piVar18") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "FUN_00046280(param_1,iVar3);" (call_expression "FUN_00046280(param_1,iVar3)" (identifier "FUN_00046280") (argument_list "(param_1,iVar3)" (( "(") (identifier "param_1") (, ",") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "param_1[0x1a2] = 0;" (assignment_expression "param_1[0x1a2] = 0" (subscript_expression "param_1[0x1a2]" (identifier "param_1") ([ "[") (number_literal "0x1a2") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_1[0x1a] != 0) {\n    (**(code **)(param_1[0x18] + 4))();\n  }" (if "if") (parenthesized_expression "(param_1[0x1a] != 0)" (( "(") (binary_expression "param_1[0x1a] != 0" (subscript_expression "param_1[0x1a]" (identifier "param_1") ([ "[") (number_literal "0x1a") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(param_1[0x18] + 4))();\n  }" ({ "{") (expression_statement "(**(code **)(param_1[0x18] + 4))();" (call_expression "(**(code **)(param_1[0x18] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x18] + 4))" (( "(") (pointer_expression "**(code **)(param_1[0x18] + 4)" (* "*") (pointer_expression "*(code **)(param_1[0x18] + 4)" (* "*") (cast_expression "(code **)(param_1[0x18] + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x18] + 4)" (( "(") (binary_expression "param_1[0x18] + 4" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar19 = (undefined4 *)piVar18[0x12];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x12]" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)piVar18[0x12]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x12]" (identifier "piVar18") ([ "[") (number_literal "0x12") (] "]")))) (; ";")) (expression_statement "param_1[0x18] = (int)puVar19;" (assignment_expression "param_1[0x18] = (int)puVar19" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (= "=") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19"))) (; ";")) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }" (if "if") (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar19 != (undefined4 *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar3 = (*(code *)*puVar19)();\n    param_1[0x1a] = iVar3;\n  }" ({ "{") (expression_statement "iVar3 = (*(code *)*puVar19)();" (assignment_expression "iVar3 = (*(code *)*puVar19)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)*puVar19)()" (parenthesized_expression "(*(code *)*puVar19)" (( "(") (pointer_expression "*(code *)*puVar19" (* "*") (cast_expression "(code *)*puVar19" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_1[0x1a] = iVar3;" (assignment_expression "param_1[0x1a] = iVar3" (subscript_expression "param_1[0x1a]" (identifier "param_1") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (if_statement "if (param_1[0x20] != 0) {\n    (**(code **)(param_1[0x1c] + 4))();\n  }" (if "if") (parenthesized_expression "(param_1[0x20] != 0)" (( "(") (binary_expression "param_1[0x20] != 0" (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(param_1[0x1c] + 4))();\n  }" ({ "{") (expression_statement "(**(code **)(param_1[0x1c] + 4))();" (call_expression "(**(code **)(param_1[0x1c] + 4))()" (parenthesized_expression "(**(code **)(param_1[0x1c] + 4))" (( "(") (pointer_expression "**(code **)(param_1[0x1c] + 4)" (* "*") (pointer_expression "*(code **)(param_1[0x1c] + 4)" (* "*") (cast_expression "(code **)(param_1[0x1c] + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x1c] + 4)" (( "(") (binary_expression "param_1[0x1c] + 4" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar19 = (undefined4 *)piVar18[0x14];" (assignment_expression "puVar19 = (undefined4 *)piVar18[0x14]" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)piVar18[0x14]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar18[0x14]" (identifier "piVar18") ([ "[") (number_literal "0x14") (] "]")))) (; ";")) (expression_statement "iVar3 = piVar18[0x16];" (assignment_expression "iVar3 = piVar18[0x16]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x16]" (identifier "piVar18") ([ "[") (number_literal "0x16") (] "]"))) (; ";")) (expression_statement "param_1[0x1c] = (int)puVar19;" (assignment_expression "param_1[0x1c] = (int)puVar19" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19"))) (; ";")) (expression_statement "param_1[0x1e] = iVar3;" (assignment_expression "param_1[0x1e] = iVar3" (subscript_expression "param_1[0x1e]" (identifier "param_1") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (puVar19 != (undefined4 *)0x0) {\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }" (if "if") (parenthesized_expression "(puVar19 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar19 != (undefined4 *)0x0" (identifier "puVar19") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);\n    param_1[0x20] = iVar3;\n  }" ({ "{") (expression_statement "iVar3 = (*(code *)*puVar19)(param_1[0x1a]);" (assignment_expression "iVar3 = (*(code *)*puVar19)(param_1[0x1a])" (identifier "iVar3") (= "=") (call_expression "(*(code *)*puVar19)(param_1[0x1a])" (parenthesized_expression "(*(code *)*puVar19)" (( "(") (pointer_expression "*(code *)*puVar19" (* "*") (cast_expression "(code *)*puVar19" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) () ")")) (argument_list "(param_1[0x1a])" (( "(") (subscript_expression "param_1[0x1a]" (identifier "param_1") ([ "[") (number_literal "0x1a") (] "]")) () ")")))) (; ";")) (expression_statement "param_1[0x20] = iVar3;" (assignment_expression "param_1[0x20] = iVar3" (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (if_statement "if (param_1[0x24] != 0) {\n    (**(code **)(param_1[0x22] + 0xc))();\n  }" (if "if") (parenthesized_expression "(param_1[0x24] != 0)" (( "(") (binary_expression "param_1[0x24] != 0" (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(param_1[0x22] + 0xc))();\n  }" ({ "{") (expression_statement "(**(code **)(param_1[0x22] + 0xc))();" (call_expression "(**(code **)(param_1[0x22] + 0xc))()" (parenthesized_expression "(**(code **)(param_1[0x22] + 0xc))" (( "(") (pointer_expression "**(code **)(param_1[0x22] + 0xc)" (* "*") (pointer_expression "*(code **)(param_1[0x22] + 0xc)" (* "*") (cast_expression "(code **)(param_1[0x22] + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x22] + 0xc)" (( "(") (binary_expression "param_1[0x22] + 0xc" (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = piVar18[0x18];" (assignment_expression "iVar3 = piVar18[0x18]" (identifier "iVar3") (= "=") (subscript_expression "piVar18[0x18]" (identifier "piVar18") ([ "[") (number_literal "0x18") (] "]"))) (; ";")) (expression_statement "param_1[0x22] = iVar3;" (assignment_expression "param_1[0x22] = iVar3" (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar3 = (**(code **)(iVar3 + 8))();" (assignment_expression "iVar3 = (**(code **)(iVar3 + 8))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(iVar3 + 8))()" (parenthesized_expression "(**(code **)(iVar3 + 8))" (( "(") (pointer_expression "**(code **)(iVar3 + 8)" (* "*") (pointer_expression "*(code **)(iVar3 + 8)" (* "*") (cast_expression "(code **)(iVar3 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 8)" (( "(") (binary_expression "iVar3 + 8" (identifier "iVar3") (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_1[0x24] = iVar3;" (assignment_expression "param_1[0x24] = iVar3" (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (param_1[0x18] != 0) {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }" (if "if") (parenthesized_expression "(param_1[0x18] != 0)" (( "(") (binary_expression "param_1[0x18] != 0" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));\n    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));\n    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n  }" ({ "{") (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c))" (identifier "uVar22") (= "=") (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c))" (identifier "FUN_0003a328") (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x43,\n                          *(undefined4 *)(param_1[0x18] + 0x2c))" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (, ",") (binary_expression "piVar18 + 0x25" (identifier "piVar18") (+ "+") (number_literal "0x25")) (, ",") (number_literal "0x43") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x2c)" (* "*") (cast_expression "(undefined4 *)(param_1[0x18] + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x18] + 0x2c)" (( "(") (binary_expression "param_1[0x18] + 0x2c" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) () ")")))) (; ";")) (expression_statement "(**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);" (call_expression "(**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x18] + 0xc))" (( "(") (pointer_expression "**(code **)(param_1[0x18] + 0xc)" (* "*") (pointer_expression "*(code **)(param_1[0x18] + 0xc)" (* "*") (cast_expression "(code **)(param_1[0x18] + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x18] + 0xc)" (( "(") (binary_expression "param_1[0x18] + 0xc" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(param_1[0x1a],uVar22)" (( "(") (subscript_expression "param_1[0x1a]" (identifier "param_1") ([ "[") (number_literal "0x1a") (] "]")) (, ",") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" (( "(") (pointer_expression "*(code *)PTR_smemclr_000b2460" (* "*") (cast_expression "(code *)PTR_smemclr_000b2460" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_smemclr_000b2460"))) () ")")) (argument_list "(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c))" (( "(") (identifier "uVar22") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x2c)" (* "*") (cast_expression "(undefined4 *)(param_1[0x18] + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x18] + 0x2c)" (( "(") (binary_expression "param_1[0x18] + 0x2c" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24))" (identifier "uVar22") (= "=") (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24))" (identifier "FUN_0003a328") (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x41,\n                          *(undefined4 *)(param_1[0x18] + 0x24))" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (, ",") (binary_expression "piVar18 + 0x25" (identifier "piVar18") (+ "+") (number_literal "0x25")) (, ",") (number_literal "0x41") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1[0x18] + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x18] + 0x24)" (( "(") (binary_expression "param_1[0x18] + 0x24" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "0x24")) () ")")))) () ")")))) (; ";")) (expression_statement "(**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);" (call_expression "(**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x18] + 8))" (( "(") (pointer_expression "**(code **)(param_1[0x18] + 8)" (* "*") (pointer_expression "*(code **)(param_1[0x18] + 8)" (* "*") (cast_expression "(code **)(param_1[0x18] + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x18] + 8)" (( "(") (binary_expression "param_1[0x18] + 8" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(param_1[0x1a],uVar22)" (( "(") (subscript_expression "param_1[0x1a]" (identifier "param_1") ([ "[") (number_literal "0x1a") (] "]")) (, ",") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" (( "(") (pointer_expression "*(code *)PTR_smemclr_000b2460" (* "*") (cast_expression "(code *)PTR_smemclr_000b2460" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_smemclr_000b2460"))) () ")")) (argument_list "(uVar22,*(undefined4 *)(param_1[0x18] + 0x24))" (( "(") (identifier "uVar22") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x18] + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1[0x18] + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x18] + 0x24)" (( "(") (binary_expression "param_1[0x18] + 0x24" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "0x24")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[0x1c] == 0) {\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }\n  else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }" (if "if") (parenthesized_expression "(param_1[0x1c] == 0)" (( "(") (binary_expression "param_1[0x1c] == 0" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) goto LAB_0004339c;\n    iVar3 = param_1[0x22];\n  }" ({ "{") (expression_statement "iVar3 = param_1[0x18];" (assignment_expression "iVar3 = param_1[0x18]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]"))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0004339c;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004339c;" (goto "goto") (statement_identifier "LAB_0004339c") (; ";"))) (expression_statement "iVar3 = param_1[0x22];" (assignment_expression "iVar3 = param_1[0x22]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }" (else "else") (compound_statement "{\n    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));\n    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);\n    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));\n    (*(code *)PTR_safefree_000b23d0)(uVar22);\n    iVar3 = param_1[0x18];\n    if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }\n    if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }\n    iVar3 = param_1[0x22];\n  }" ({ "{") (expression_statement "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30));" (assignment_expression "uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30))" (identifier "uVar22") (= "=") (call_expression "FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30))" (identifier "FUN_0003a328") (argument_list "(param_1,piVar18[0xb],piVar18 + 0x25,0x45,\n                          *(undefined4 *)(param_1[0x1c] + 0x30))" (( "(") (identifier "param_1") (, ",") (subscript_expression "piVar18[0xb]" (identifier "piVar18") ([ "[") (number_literal "0xb") (] "]")) (, ",") (binary_expression "piVar18 + 0x25" (identifier "piVar18") (+ "+") (number_literal "0x25")) (, ",") (number_literal "0x45") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x1c] + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1[0x1c] + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x1c] + 0x30)" (( "(") (binary_expression "param_1[0x1c] + 0x30" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (number_literal "0x30")) () ")")))) () ")")))) (; ";")) (expression_statement "(**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);" (call_expression "(**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22)" (parenthesized_expression "(**(code **)(param_1[0x1c] + 8))" (( "(") (pointer_expression "**(code **)(param_1[0x1c] + 8)" (* "*") (pointer_expression "*(code **)(param_1[0x1c] + 8)" (* "*") (cast_expression "(code **)(param_1[0x1c] + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1[0x1c] + 8)" (( "(") (binary_expression "param_1[0x1c] + 8" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(param_1[0x20],uVar22)" (( "(") (subscript_expression "param_1[0x20]" (identifier "param_1") ([ "[") (number_literal "0x20") (] "]")) (, ",") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));" (call_expression "(*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30))" (parenthesized_expression "(*(code *)PTR_smemclr_000b2460)" (( "(") (pointer_expression "*(code *)PTR_smemclr_000b2460" (* "*") (cast_expression "(code *)PTR_smemclr_000b2460" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_smemclr_000b2460"))) () ")")) (argument_list "(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30))" (( "(") (identifier "uVar22") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x1c] + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_1[0x1c] + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x1c] + 0x30)" (( "(") (binary_expression "param_1[0x1c] + 0x30" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (number_literal "0x30")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_safefree_000b23d0)(uVar22);" (call_expression "(*(code *)PTR_safefree_000b23d0)(uVar22)" (parenthesized_expression "(*(code *)PTR_safefree_000b23d0)" (( "(") (pointer_expression "*(code *)PTR_safefree_000b23d0" (* "*") (cast_expression "(code *)PTR_safefree_000b23d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_safefree_000b23d0"))) () ")")) (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "iVar3 = param_1[0x18];" (assignment_expression "iVar3 = param_1[0x18]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]"))) (; ";")) (if_statement "if (iVar3 != 0) {\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));\n    }" ({ "{") (labeled_statement "LAB_0004339c:\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));" (statement_identifier "LAB_0004339c") (: ":") (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34));" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34))" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,\n                   *(undefined4 *)(iVar3 + 0x34))" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x60e0" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x60e0")) (, ",") (pointer_expression "*(undefined4 *)(iVar3 + 0x34)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x34)" (( "(") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34")) () ")")))) () ")"))) (; ";"))) (} "}"))) (if_statement "if (param_1[0x1c] != 0) {\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }" (if "if") (parenthesized_expression "(param_1[0x1c] != 0)" (( "(") (binary_expression "param_1[0x1c] != 0" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }\n      if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }\n      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);\n    }" ({ "{") (if_statement "if (param_1[0x1e] == 0) {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }" (if "if") (parenthesized_expression "(param_1[0x1e] == 0)" (( "(") (binary_expression "param_1[0x1e] == 0" (subscript_expression "param_1[0x1e]" (identifier "param_1") ([ "[") (number_literal "0x1e") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4f64"))) (; ";")) (} "}")) (else_clause "else {\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }" (else "else") (compound_statement "{\n        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;\n      }" ({ "{") (expression_statement "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;" (assignment_expression "puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c" (identifier "puVar15") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x585c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x585c"))) (; ";")) (} "}")))) (if_statement "if (*(int *)(param_1[0x18] + 0x38) == 0) {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }\n      else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1[0x18] + 0x38) == 0)" (( "(") (binary_expression "*(int *)(param_1[0x18] + 0x38) == 0" (pointer_expression "*(int *)(param_1[0x18] + 0x38)" (* "*") (cast_expression "(int *)(param_1[0x18] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x18] + 0x38)" (( "(") (binary_expression "param_1[0x18] + 0x38" (subscript_expression "param_1[0x18]" (identifier "param_1") ([ "[") (number_literal "0x18") (] "]")) (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;\n      }" ({ "{") (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "puVar6") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4f64" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4f64"))) (; ";")) (} "}")) (else_clause "else {\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }" (else "else") (compound_statement "{\n        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;\n      }" ({ "{") (expression_statement "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;" (assignment_expression "puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c" (identifier "puVar6") (= "=") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x586c" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x586c"))) (; ";")) (} "}")))) (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6)" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,\n                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6110" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x6110")) (, ",") (pointer_expression "*(undefined4 *)(param_1[0x1c] + 0x34)" (* "*") (cast_expression "(undefined4 *)(param_1[0x1c] + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x1c] + 0x34)" (( "(") (binary_expression "param_1[0x1c] + 0x34" (subscript_expression "param_1[0x1c]" (identifier "param_1") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (number_literal "0x34")) () ")")))) (, ",") (identifier "puVar15") (, ",") (identifier "puVar6") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = param_1[0x22];" (assignment_expression "iVar3 = param_1[0x22]" (identifier "iVar3") (= "=") (subscript_expression "param_1[0x22]" (identifier "param_1") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (} "}")))) (if_statement "if (*(int *)(iVar3 + 0x24) != 0) {\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 0x24) != 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0x24) != 0" (pointer_expression "*(int *)(iVar3 + 0x24)" (* "*") (cast_expression "(int *)(iVar3 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x24)" (( "(") (binary_expression "iVar3 + 0x24" (identifier "iVar3") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);\n  }" ({ "{") (expression_statement "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);" (call_expression "FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144)" (identifier "FUN_00036ce8") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x6144" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x6144")) () ")"))) (; ";")) (} "}"))) (expression_statement "param_1[0x59] = 0;" (assignment_expression "param_1[0x59] = 0" (subscript_expression "param_1[0x59]" (identifier "param_1") ([ "[") (number_literal "0x59") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < param_1[0x57]) {\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }" (if "if") (parenthesized_expression "(0 < param_1[0x57])" (( "(") (binary_expression "0 < param_1[0x57]" (number_literal "0") (< "<") (subscript_expression "param_1[0x57]" (identifier "param_1") ([ "[") (number_literal "0x57") (] "]"))) () ")")) (compound_statement "{\n    local_80 = 0;\n    do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);\n  }" ({ "{") (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    } while (local_80 < param_1[0x57]);" (do "do") (compound_statement "{\n      iVar3 = local_80 * 4;\n      local_80 = local_80 + 1;\n      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);\n    }" ({ "{") (expression_statement "iVar3 = local_80 * 4;" (assignment_expression "iVar3 = local_80 * 4" (identifier "iVar3") (= "=") (binary_expression "local_80 * 4" (identifier "local_80") (* "*") (number_literal "4"))) (; ";")) (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" (identifier "local_80") (= "=") (binary_expression "local_80 + 1" (identifier "local_80") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);" (call_expression "FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0)" (identifier "FUN_0003c0c8") (argument_list "(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined4 *)(param_1[0x56] + iVar3)" (* "*") (cast_expression "(undefined4 *)(param_1[0x56] + iVar3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x56] + iVar3)" (( "(") (binary_expression "param_1[0x56] + iVar3" (subscript_expression "param_1[0x56]" (identifier "param_1") ([ "[") (number_literal "0x56") (] "]")) (+ "+") (identifier "iVar3")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_80 < param_1[0x57])" (( "(") (binary_expression "local_80 < param_1[0x57]" (identifier "local_80") (< "<") (subscript_expression "param_1[0x57]" (identifier "param_1") ([ "[") (number_literal "0x57") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "param_1[0x57] = 0;" (assignment_expression "param_1[0x57] = 0" (subscript_expression "param_1[0x57]" (identifier "param_1") ([ "[") (number_literal "0x57") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00046148();" (call_expression "FUN_00046148()" (identifier "FUN_00046148") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar14 = param_1;" (assignment_expression "piVar14 = param_1" (identifier "piVar14") (= "=") (identifier "param_1")) (; ";")) (labeled_statement "LAB_000434a4:\n  *piVar18 = 0x1d8a;" (statement_identifier "LAB_000434a4") (: ":") (expression_statement "*piVar18 = 0x1d8a;" (assignment_expression "*piVar18 = 0x1d8a" (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) (= "=") (number_literal "0x1d8a")) (; ";"))) (expression_statement "param_1 = piVar14;" (assignment_expression "param_1 = piVar14" (identifier "param_1") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_00042f18;" (goto "goto") (statement_identifier "LAB_00042f18") (; ";")) (labeled_statement "code_r0x00043b68:\n  if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }" (statement_identifier "code_r0x00043b68") (: ":") (if_statement "if ((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {\n    piVar18[0x4c] = 1;\n  }" (if "if") (parenthesized_expression "((local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0))" (( "(") (binary_expression "(local_6c < 2) &&\n     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)" (parenthesized_expression "(local_6c < 2)" (( "(") (binary_expression "local_6c < 2" (identifier "local_6c") (< "<") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)" (( "(") (comma_expression "iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0" (assignment_expression "iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4)" (identifier "iVar12") (= "=") (call_expression "(*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4)" (( "(") (pointer_expression "*(undefined4 *)(piVar14[0x54] + 4)" (* "*") (cast_expression "(undefined4 *)(piVar14[0x54] + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar14[0x54] + 4)" (( "(") (binary_expression "piVar14[0x54] + 4" (subscript_expression "piVar14[0x54]" (identifier "piVar14") ([ "[") (number_literal "0x54") (] "]")) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar3") (, ",") (identifier "uVar4") () ")")))) (, ",") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    piVar18[0x4c] = 1;\n  }" ({ "{") (expression_statement "piVar18[0x4c] = 1;" (assignment_expression "piVar18[0x4c] = 1" (subscript_expression "piVar18[0x4c]" (identifier "piVar18") ([ "[") (number_literal "0x4c") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar14 = piVar14 + 3;" (assignment_expression "piVar14 = piVar14 + 3" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 3" (identifier "piVar14") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (iVar16 == 0x10) {\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }" (if "if") (parenthesized_expression "(iVar16 == 0x10)" (( "(") (binary_expression "iVar16 == 0x10" (identifier "iVar16") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\nLAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );\n    goto LAB_00043628;\n  }" ({ "{") (labeled_statement "LAB_00043b7c:\n    uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );" (statement_identifier "LAB_00043b7c") (: ":") (expression_statement "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       );" (assignment_expression "uVar22 = (*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       )" (identifier "uVar22") (= "=") (call_expression "(*(code *)PTR_dupprintf_000b2404)\n                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       )" (parenthesized_expression "(*(code *)PTR_dupprintf_000b2404)" (( "(") (pointer_expression "*(code *)PTR_dupprintf_000b2404" (* "*") (cast_expression "(code *)PTR_dupprintf_000b2404" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dupprintf_000b2404"))) () ")")) (argument_list "(PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3\n                       )" (( "(") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x59c8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x59c8")) (, ",") (subscript_expression "local_50[local_74]" (identifier "local_50") ([ "[") (identifier "local_74") (] "]")) (, ",") (identifier "uVar4") (, ",") (identifier "iVar3") () ")")))) (; ";"))) (goto_statement "goto LAB_00043628;" (goto "goto") (statement_identifier "LAB_00043628") (; ";")) (} "}"))) (goto_statement "goto LAB_00043b44;" (goto "goto") (statement_identifier "LAB_00043b44") (; ";")) (} "}")))

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

void function_1(type_1 ssh,void *vin,int var_11,type_2 *var_7)

{
  type_3 var_34;
  int *piVar2;
  int var_6;
  type_4 *var_61;
  type_5 *var_62;
  type_6 *psVar6;
  int var_32;
  int var_31;
  type_7 var_9;
  type_8 pBVar10;
  type_9 uVar11;
  type_10 *var_54;
  void *var_48;
  type_11 var_44;
  int var_2;
  type_12 *psVar16;
  type_13 *var_37;
  type_1 var_12;
  type_14 var_13;
  type_15 *psVar19;
  int *var_43;
  type_16 var_75;
  int var_3;
  int var_71;
  char *var_56;
  type_3 *var_65;
  type_2 *pPVar26;
  int *var_4;
  type_11 var_53;
  type_11 var_51;
  type_13 *var_38;
  type_9 *var_39;
  type_1 var_42;
  int var_33;
  int var_30;
  int var_1;
  type_17 *p_Var34;
  type_18 *p_Var35;
  type_19 *p_Var36;
  type_20 *var_73;
  type_20 *pcVar38;
  int var_36;
  int *piVar40;
  int var_15;
  type_11 var_29;
  type_11 var_41;
  int *var_40;
  char *var_28;
  int var_49;
  char *kexlist_descr [8];
  type_3 x [4];
  
  piVar2 = *(int **)(var_1 + 0x70118);
  var_2 = *(int *)(var_1 + 0x6f5bc);
  kexlist_descr[2] = (char *)(var_2 + 0x58b0);
  var_3 = *(int *)(var_1 + 0x6f5bc);
  kexlist_descr[3] = (char *)(var_3 + 0x58c8);
  var_71 = *piVar2;
  var_4 = (int *)ssh->do_ssh2_transport_state;
  kexlist_descr[0] = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x5884);
  kexlist_descr[1] = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x589c);
  kexlist_descr[4] = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x58e0);
  kexlist_descr[5] = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x58f8);
  kexlist_descr[6] = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x5910);
  kexlist_descr[7] = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x5934);
  var_12 = (type_1)kexlist_descr[2];
  pPVar26 = var_7;
  if (var_4 == (int *)0x0) {
    var_12 = (type_1)&var_5;
    var_4 = (int *)(**(type_20 **)(var_1 + 0x6f61c))(1,0x74c);
    ssh->do_ssh2_transport_state = var_4;
    *var_4 = 0;
  }
  if (ssh->bare_connection != 0) {
    (**(type_20 **)(var_1 + 0x6ff40))
              (*(int *)(var_1 + 0x6f5bc) + 0x5958,*(int *)(var_1 + 0x6f5bc) + 0x35c0,0x18f9,
               *(int *)(var_1 + 0x6f5bc) + 0x7e6c);
    return;
  }
  if (ssh->version != 2) {
    (**(type_20 **)(var_1 + 0x6ff40))
              (*(int *)(var_1 + 0x6f5bc) + 0x4af0,*(int *)(var_1 + 0x6f5bc) + 0x35c0,0x18fa,
               *(int *)(var_1 + 0x6f5bc) + 0x7e6c);
    return;
  }
  var_6 = *var_4;
  if (var_6 == 0x1b73) {
    if (var_7 == (type_2 *)0x0) {
      *var_4 = 0x1b73;
      goto LAB_00042f18;
    }
    if (var_7->type == 0x1f) {
      var_9 = var_8(var_7);
      var_4[7] = (int)var_9;
      var_9 = var_8(var_7);
      var_4[8] = (int)var_9;
      if (((type_7)var_4[7] != (type_7)0x0) && (var_9 != (type_7)0x0)) {
        var_48 = var_10((type_7)var_4[7],var_9);
        ssh->kex_ctx = var_48;
        var_4[0xe] = 0x20;
        var_4[0xf] = 0x21;
        goto LAB_00043d90;
      }
      var_73 = *(type_20 **)(var_1 + 0x6f618);
      var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5b44);
    }
    else {
      var_73 = *(type_20 **)(var_1 + 0x6f618);
      var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5b14);
    }
    goto LAB_0004361c;
  }
  if (var_6 < 0x1b74) {
    if (var_6 == 0x1aff) {
      var_12 = *(type_1 *)(var_1 + 0x6f5bc);
      if (var_7 != (type_2 *)0x0) {
LAB_00043614:
        var_73 = *(type_20 **)(var_1 + 0x6f618);
        var_43 = &var_12[0xd].banner.buffersize;
        goto LAB_0004361c;
      }
      if (0 < var_11) {
LAB_00043d00:
        *var_4 = 0x1aff;
        goto LAB_00042f18;
      }
      var_4[0x50] = ssh->user_response;
FUN_00044370:
      var_12 = (type_1)ssh->s;
      if (var_12 != (type_1)0x0) {
        (*var_12->fn[1].closing)((type_21)var_12,(char *)0x0,var_11,(int)pPVar26);
      }
      ssh->frozen = 0;
      if (var_4[0x50] == 0) {
        var_56 = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x5aac);
        goto LAB_00045800;
      }
LAB_000443a0:
      if (var_4[5] == 0) {
LAB_00043510:
        if (var_4[6] != 0) {
          var_13 = ssh->s;
          if (var_13 != (type_14)0x0) {
            (*(*var_13)->set_frozen)(var_13,1);
          }
          var_73 = *(type_20 **)(var_1 + 0x6fb88);
          var_11 = *(int *)(var_4[0x13] + 0x20);
          var_12 = (type_1)ssh->frontend;
          pPVar26 = (type_2 *)(*(int *)(var_1 + 0x6fb0c) + -0xf58);
          ssh->frozen = 1;
          var_2 = (*var_73)(var_12,var_3 + 0x58c8,var_11,pPVar26,ssh);
          var_4[0x50] = var_2;
          if (var_2 < 0) goto LAB_000454a0;
          goto LAB_00043578;
        }
        goto LAB_000435a8;
      }
      var_13 = ssh->s;
      if (var_13 != (type_14)0x0) {
        (*(*var_13)->set_frozen)(var_13,1);
      }
      var_73 = *(type_20 **)(var_1 + 0x6fb88);
      var_11 = *(int *)(var_4[0x12] + 0x20);
      var_12 = (type_1)ssh->frontend;
      pPVar26 = (type_2 *)(*(int *)(var_1 + 0x6fb0c) + -0xf58);
      ssh->frozen = 1;
      var_2 = (*var_73)(var_12,var_2 + 0x58b0,var_11,pPVar26,ssh);
      var_4[0x50] = var_2;
      if (var_2 < 0) goto LAB_0004440c;
LAB_000434e0:
      var_12 = (type_1)ssh->s;
      if (var_12 != (type_1)0x0) {
        (*var_12->fn[1].closing)((type_21)var_12,(char *)0x0,var_11,(int)pPVar26);
      }
      ssh->frozen = 0;
      if (var_4[0x50] != 0) goto LAB_00043510;
LAB_000457e8:
      var_56 = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x5ad0);
      goto LAB_00045800;
    }
    if (0x1aff < var_6) {
      if (var_6 == 0x1b31) {
        var_12 = *(type_1 *)(var_1 + 0x6f5bc);
        if (var_7 != (type_2 *)0x0) goto LAB_00043614;
        if (0 < var_11) {
LAB_000454a0:
          *var_4 = 0x1b31;
          goto LAB_00042f18;
        }
        var_4[0x50] = ssh->user_response;
LAB_00043578:
        var_12 = (type_1)ssh->s;
        if (var_12 != (type_1)0x0) {
          (*var_12->fn[1].closing)((type_21)var_12,(char *)0x0,var_11,(int)pPVar26);
        }
        ssh->frozen = 0;
        if (var_4[0x50] == 0) goto LAB_000457e8;
LAB_000435a8:
        if (var_4[0x52] == 0) goto LAB_00044234;
      }
      else {
        if (var_6 != 0x1b43) {
          if (var_6 != 0x1b18) goto LAB_00042f14;
          var_12 = *(type_1 *)(var_1 + 0x6f5bc);
          if (var_7 != (type_2 *)0x0) goto LAB_00043614;
          if (var_11 < 1) {
            var_4[0x50] = ssh->user_response;
            goto LAB_000434e0;
          }
LAB_0004440c:
          *var_4 = 0x1b18;
          goto LAB_00042f18;
        }
        if (var_7 != (type_2 *)0x0) {
LAB_00044234:
          psVar19 = ssh->kex;
          if (psVar19->main_type == var_14) {
            var_2 = 0;
            if (var_4[0x12] != 0) {
              var_2 = *(int *)(var_4[0x12] + 0x28);
            }
            var_15 = 0;
            if (var_4[0x13] != 0) {
              var_15 = *(int *)(var_4[0x13] + 0x28);
            }
            if (var_15 <= var_2) {
              var_15 = var_2;
            }
            var_2 = psVar19->hash->hlen << 3;
            if (var_2 < var_15) {
              var_15 = var_2;
            }
            var_4[1] = var_15;
            var_2 = var_16(psVar19);
            if (var_2 != 0) {
              (**(type_20 **)(var_17 + var_1 + 4))
                        (ssh->frontend,*(int *)(var_1 + 0x6f5bc) + 0x5af0);
              var_3 = var_4[1];
              ssh->pkt_kctx = SSH2_PKTCTX_DHGEX;
              var_2 = var_3 + -1;
              if (var_2 < 0) {
                var_2 = var_3 + 0x3e;
              }
              var_2 = 0x200 << (var_2 >> 6 & 0x1fU);
              if (var_2 < 0x400) {
                var_4[2] = 0x400;
              }
              else {
                if (0x2000 < var_2) {
                  var_2 = 0x2000;
                }
                var_4[2] = var_2;
              }
              if ((ssh->remote_bugs & 0x1000U) == 0) {
                pPVar26 = var_18(0x22);
                var_4[0x4f] = (int)pPVar26;
                x[0] = '\0';
                x[1] = '\0';
                x[2] = '\x04';
                x[3] = '\0';
                    /* WARNING: Subroutine does not return */
                var_19(pPVar26,x,4);
              }
              pPVar26 = var_18(0x1e);
                    /* WARNING: Subroutine does not return */
              var_4[0x4f] = (int)pPVar26;
              var_20(pPVar26,var_4[2]);
            }
            ssh->pkt_kctx = SSH2_PKTCTX_DHGROUP;
            var_48 = var_21(ssh->kex);
            psVar19 = ssh->kex;
            ssh->kex_ctx = var_48;
            var_4[0xe] = 0x1e;
            var_2 = *(int *)(var_1 + 0x6f5bc);
            var_56 = psVar19->groupname;
            var_4[0xf] = 0x1f;
            var_22(ssh,(char *)(var_2 + 0x5b78),var_56);
LAB_00043d90:
            var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x5ba8),ssh->kex->hash->text_name);
            (**(type_20 **)(var_1 + 0x6fb80))(ssh->frontend,2);
            var_9 = var_23(ssh->kex_ctx,var_4[1] << 1);
            var_4[9] = (int)var_9;
            pPVar26 = var_18(var_4[0xe]);
            var_4[0x4f] = (int)pPVar26;
            var_24((type_7)var_4[9],&var_49);
            x[0] = '\0';
            x[1] = '\0';
            x[2] = '\0';
            x[3] = '\0';
                    /* WARNING: Subroutine does not return */
            var_19(pPVar26,x,4);
          }
          if (psVar19->main_type != var_25) {
            var_12 = ssh;
            var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x5d7c),psVar19->hash->text_name);
            ssh->pkt_kctx = SSH2_PKTCTX_RSAKEX;
            goto LAB_000451dc;
          }
          uVar11 = (**(type_20 **)(var_1 + 0x6fbd4))();
          var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x5c60),uVar11,
                    ssh->kex->hash->text_name);
          var_73 = *(type_20 **)(var_1 + 0x6fbd8);
          ssh->pkt_kctx = SSH2_PKTCTX_ECDHKEX;
          var_2 = (*var_73)(ssh->kex);
          var_4[0x24] = var_2;
          if (var_2 == 0) {
            var_73 = *(type_20 **)(var_1 + 0x6f618);
            var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5c94);
          }
          else {
            var_2 = (**(type_20 **)(var_1 + 0x6fba0))(var_2,&var_49);
            if (var_2 != 0) {
              pPVar26 = var_18(0x1e);
              var_4[0x4f] = (int)pPVar26;
              x[0] = '\0';
              x[1] = '\0';
              x[2] = '\0';
              x[3] = '\0';
                    /* WARNING: Subroutine does not return */
              var_19(pPVar26,x,4);
            }
            (**(type_20 **)(var_26 + var_1 + 4))(var_4[0x24]);
            var_73 = *(type_20 **)(var_1 + 0x6f618);
            var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5cb4);
          }
          goto LAB_0004361c;
        }
      }
      *var_4 = 0x1b43;
      goto LAB_00042f18;
    }
    if (var_6 == 0x1a26) {
      if (var_7 == (type_2 *)0x0) {
        *var_4 = 0x1a26;
        goto LAB_00042f18;
      }
      if (var_7->type == 0x14) {
        var_41 = 0xfffffffa;
        var_73 = (type_20 *)(*(int *)(var_1 + 0x6f974) + 0x7704);
        var_36 = *(int *)(var_1 + 0x6f5ac);
        var_6 = var_7->savedpos;
        pcVar38 = (type_20 *)(*(int *)(var_27 + var_1) + -0x26e4);
        ssh->kex = (type_15 *)0x0;
        var_33 = *(int *)(var_27 + var_1);
        ssh->hostkey = (type_13 *)0x0;
        var_29 = 0;
        var_4[0x12] = 0;
        var_4[0x13] = 0;
        var_4[0x14] = 0;
        var_4[0x15] = 0;
        var_4[0x18] = 0;
        var_4[0x19] = 0;
        var_4[4] = 0;
        var_4[3] = 0;
        var_4[6] = 0;
        var_4[5] = 0;
        var_7->savedpos = var_6 + 0x10;
        var_4[0x51] = 0;
        var_40 = var_4;
        while ((*var_73)(var_7,&var_28,&var_49), var_6 = var_49, var_56 = var_28, var_28 != (char *)0x0) {
          if (var_29 == 4) {
            if ((var_4[0x12] == 0) || (var_30 = *(int *)(var_4[0x12] + 0x38), var_30 == 0)) {
LAB_00043b30:
              var_30 = 0;
              var_43 = var_40;
LAB_00043b44:
              var_31 = var_43[0x53];
              if (var_31 == 0) goto LAB_00043b7c;
              var_32 = (*pcVar38)(var_31,var_56,var_6);
              if (var_32 == 0) goto code_r0x00043b68;
              if (var_29 < 2) {
                if ((var_30 != 0) ||
                   (var_6 = (*(type_20 *)(var_33 + -0x27a4))(var_31,var_56,var_6), var_6 == 0)) {
                  var_4[0x51] = 0;
                }
                if (var_29 == 0) {
                  var_6 = var_4[var_30 * 3 + 0x55];
                  ssh->kex = (type_15 *)var_4[var_30 * 3 + 0x54];
                  var_4[3] = var_6;
LAB_000452b4:
                  if (var_29 == 7) {
                    if (var_4[0x4c] != 0) {
                      (**(type_20 **)(var_17 + var_1 + 4))
                                (ssh->frontend,*(int *)(var_1 + 0x6f5bc) + 0x59f0);
                    }
                    (*var_73)(var_7,&var_28,&var_49);
                    (*var_73)(var_7,&var_28,&var_49);
                    var_6 = var_7->savedpos;
                    if ((var_7->length - var_6 < 1) ||
                       (var_34 = var_7->body[var_6], var_7->savedpos = var_6 + 1, var_34 == '\0')) {
                      var_44 = 0;
                    }
                    else {
                      var_44 = (type_11)(var_4[0x51] == 0);
                    }
                    psVar19 = ssh->kex;
                    var_4[0x52] = var_44;
                    var_48 = (*psVar19->hash->init)();
                    var_56 = ssh->v_c;
                    ssh->exhash = var_48;
                    var_6 = (**(type_20 **)(var_1 + 0x7005c))(var_56);
                    var_35((type_12 *)&ssh->kex->hash->bytes,var_48,var_56,var_6);
                    var_56 = ssh->v_s;
                    var_6 = (**(type_20 **)(var_1 + 0x7005c))(var_56);
                    var_35((type_12 *)&ssh->kex->hash->bytes,ssh->exhash,var_56,var_6);
                    var_35((type_12 *)&ssh->kex->hash->bytes,ssh->exhash,(void *)var_4[0xc],
                                var_4[0xd]);
                    (**(type_20 **)(var_1 + 0x6f5e4))(var_4[0xc]);
                    var_12 = (type_1)&ssh->kex->hash->bytes;
                    var_35((type_12 *)var_12,ssh->exhash,var_7->body + -1,var_7->length + 1);
                    if (var_4[3] == 0) goto LAB_00043bfc;
                    var_13 = ssh->s;
                    if (var_13 != (type_14)0x0) {
                      (*(*var_13)->set_frozen)(var_13,1);
                    }
                    var_6 = *(int *)(var_1 + 0x6f5bc);
                    var_73 = *(type_20 **)(var_1 + 0x6fb88);
                    var_11 = (int)ssh->kex->name;
                    var_12 = (type_1)ssh->frontend;
                    pPVar26 = (type_2 *)(*(int *)(var_1 + 0x6fb0c) + -0xf58);
                    ssh->frozen = 1;
                    var_6 = (*var_73)(var_12,var_6 + 0x5a2c,var_11,pPVar26,ssh);
                    var_4[0x50] = var_6;
                    if (var_6 < 0) goto LAB_00045494;
                    goto LAB_00043bcc;
                  }
                }
                else {
                  var_38 = *(type_13 **)(var_1 + 0x6fbc0);
                  var_31 = 0;
                  var_39 = (type_9 *)(var_36 + 0x1ed8);
                  var_37 = (type_13 *)var_4[var_30 * 3 + 0x84];
                  var_6 = var_4[var_30 * 3 + 0x85];
                  ssh->hostkey = var_37;
                  var_4[4] = var_6;
                  ssh->n_uncert_hostkeys = 0;
                  while( true ) {
                    if (((var_37 != var_38) &&
                        (var_6 = (*pcVar38)(var_38->name,var_28,var_49), var_6 != 0)) &&
                       (var_6 = (**(type_20 **)(var_1 + 0x6fbfc))
                                          (ssh->savedhost,ssh->savedport,var_38->keytype),
                       var_6 == 0)) {
                      var_6 = ssh->n_uncert_hostkeys;
                      ssh->n_uncert_hostkeys = var_6 + 1;
                      ssh->uncert_hostkeys[var_6] = var_31;
                    }
                    var_31 = var_31 + 1;
                    var_39 = var_39 + 2;
                    if (var_31 == 6) break;
                    var_38 = (type_13 *)*var_39;
                    var_37 = ssh->hostkey;
                  }
                }
              }
              else if (var_29 == 2) {
                var_4[0x12] = var_4[var_30 * 3 + 0xb4];
                var_4[5] = var_4[var_30 * 3 + 0xb5];
              }
              else if (var_29 == 3) {
                var_4[0x13] = var_4[var_30 * 3 + 0xe4];
                var_4[6] = var_4[var_30 * 3 + 0xe5];
              }
              else if (var_29 == 4) {
                var_4[0x14] = var_4[var_30 * 3 + 0x114];
                var_4[0x16] = var_4[var_30 * 3 + 0x115];
              }
              else if (var_29 == 5) {
                var_4[0x15] = var_4[var_30 * 3 + 0x144];
                var_4[0x17] = var_4[var_30 * 3 + 0x145];
              }
              else {
                if (var_29 != 6) {
                  var_4[0x19] = var_4[var_30 * 3 + 0x1a4];
                  goto LAB_000452b4;
                }
                var_4[0x18] = var_4[var_30 * 3 + 0x174];
              }
            }
            else {
              var_6 = *(int *)(var_30 + 0x28);
              var_4[0x14] = var_30;
              var_4[0x16] = (type_11)(var_6 != 0);
            }
          }
          else {
            if (((var_29 != 5) || (var_4[0x13] == 0)) ||
               (var_30 = *(int *)(var_4[0x13] + 0x38), var_30 == 0)) goto LAB_00043b30;
            var_6 = *(int *)(var_30 + 0x28);
            var_4[0x15] = var_30;
            var_4[0x17] = (type_11)(var_6 != 0);
          }
          var_29 = var_29 + 1;
          var_40 = var_40 + 0x30;
          var_41 = var_41 + 1;
        }
        var_73 = *(type_20 **)(var_1 + 0x6f618);
        var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x59a8);
      }
      else {
        var_73 = *(type_20 **)(var_1 + 0x6f618);
        var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x597c);
      }
      goto LAB_0004361c;
    }
    if (var_6 == 0x1abc) {
      var_12 = *(type_1 *)(var_1 + 0x6f5bc);
      if (var_7 != (type_2 *)0x0) goto LAB_00043614;
      if (0 < var_11) {
LAB_00045494:
        *var_4 = 0x1abc;
        goto LAB_00042f18;
      }
      var_4[0x50] = ssh->user_response;
LAB_00043bcc:
      var_12 = (type_1)ssh->s;
      if (var_12 != (type_1)0x0) {
        (*var_12->fn[1].closing)((type_21)var_12,(char *)0x0,var_11,(int)pPVar26);
      }
      ssh->frozen = 0;
      if (var_4[0x50] == 0) {
        var_56 = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x5a80);
        goto LAB_00045800;
      }
LAB_00043bfc:
      if (var_4[4] == 0) goto LAB_000443a0;
      var_13 = ssh->s;
      if (var_13 != (type_14)0x0) {
        (*(*var_13)->set_frozen)(var_13,1);
      }
      ssh->frozen = 1;
      if (ssh->n_uncert_hostkeys < 1) {
        var_11 = (int)ssh->hostkey->name;
        var_42 = (type_1)ssh->frontend;
LAB_00045b94:
        var_12 = var_42;
        pPVar26 = (type_2 *)(*(int *)(var_1 + 0x6fb0c) + -0xf58);
        var_6 = (**(type_20 **)(var_1 + 0x6fb88))
                          (var_12,*(int *)(var_1 + 0x6f5bc) + 0x5a9c,var_11,pPVar26,ssh);
        var_4[0x50] = var_6;
      }
      else {
        var_33 = *(int *)(var_1 + 0x6f5ac);
        var_43 = ssh->uncert_hostkeys;
        var_36 = *(int *)(var_1 + 0x6f5bc);
        var_6 = 0;
        var_42 = (type_1)0x0;
        do {
          var_30 = 0;
          piVar40 = (int *)(var_33 + 0x1ed8 + *var_43 * 8);
          var_73 = *(type_20 **)(var_1 + 0x6f9d8);
          while (var_31 = (*var_73)(ssh->conf,0x19,var_30), var_12 = var_42, var_31 != 0) {
            var_30 = var_30 + 1;
            if (piVar40[1] == var_31) {
              uVar11 = *(type_9 *)(*piVar40 + 0x30);
              if (var_42 == (type_1)0x0) {
                var_12 = (type_1)(**(type_20 **)(var_1 + 0x6f624))(uVar11);
              }
              else {
                var_12 = (type_1)
                         (**(type_20 **)(var_1 + 0x6f628))(var_42,var_36 + 0x470,uVar11,0);
                (**(type_20 **)(var_1 + 0x6f5e4))(var_42);
              }
              break;
            }
            var_73 = *(type_20 **)(var_1 + 0x6f9d8);
            if (var_30 == 5) break;
          }
          var_6 = var_6 + 1;
          var_43 = var_43 + 1;
          var_42 = var_12;
        } while (var_6 < ssh->n_uncert_hostkeys);
        var_11 = (int)ssh->hostkey->name;
        var_42 = (type_1)ssh->frontend;
        if (var_12 == (type_1)0x0) goto LAB_00045b94;
        pPVar26 = (type_2 *)(*(int *)(var_1 + 0x6fb0c) + -0xf58);
        var_11 = (int)var_12;
        var_6 = (**(type_20 **)(var_1 + 0x6fb90))();
        var_73 = *(type_20 **)(var_1 + 0x6f5e4);
        var_4[0x50] = var_6;
        (*var_73)();
        var_6 = var_4[0x50];
      }
      if (-1 < var_6) goto FUN_00044370;
      goto LAB_00043d00;
    }
    if (var_6 == 0) {
      var_44 = ssh->remote_bugs;
      var_4[0x13] = 0;
      var_4[0x12] = 0;
      var_4[0x15] = 0;
      var_4[0x14] = 0;
      var_4[0x19] = 0;
      var_4[0x18] = 0;
      var_4[0x4e] = 0;
      var_4[0x4d] = 0;
      var_4[0x4b] = 0;
      var_4[0x4c] = 0;
      if ((var_44 & 2) == 0) {
        var_4[0x11] = 4;
        var_4[0x10] = *(int *)(var_1 + 0x6f5ac) + 0x1ec8;
        var_45();
        return;
      }
      var_4[0x11] = 3;
      var_4[0x10] = *(int *)(var_1 + 0x6f5ac) + 0x1ebc;
      var_45();
      return;
    }
    goto LAB_00042f14;
  }
  if (var_6 == 0x1c91) {
    if (var_7 == (type_2 *)0x0) {
      *var_4 = 0x1c91;
      goto LAB_00042f18;
    }
    if (var_7->type == 0x20) {
      var_46(var_7,(char **)(var_4 + 0x1b),var_4 + 0x20);
      if (var_4[0x1b] == 0) {
        var_73 = *(type_20 **)(var_1 + 0x6f618);
        var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5ea4);
      }
      else {
        (**(type_20 **)(var_1 + 0x6f5e4))(var_4[0x1c]);
LAB_0004446c:
        var_47(ssh->kex->hash,ssh->exhash,(type_7)var_4[0xb]);
        psVar16 = ssh->kex->hash;
        if (0x40 < (type_11)psVar16->hlen) {
          (**(type_20 **)(var_1 + 0x6ff40))
                    (*(int *)(var_1 + 0x6f5bc) + 0x5ec8,*(int *)(var_1 + 0x6f5bc) + 0x35c0,0x1ca2,
                     *(int *)(var_1 + 0x6f5bc) + 0x7e6c);
          return;
        }
        (*psVar16->final)(ssh->exhash,(type_3 *)(var_4 + 0x25));
        var_48 = (void *)var_4[0x22];
        ssh->kex_ctx = (void *)0x0;
        if (var_48 == (void *)0x0) {
          var_73 = *(type_20 **)(var_1 + 0x6f618);
          var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5efc);
        }
        else {
          var_2 = (*ssh->hostkey->verifysig)
                             (var_48,(char *)var_4[0x1b],var_4[0x20],(char *)(var_4 + 0x25),
                              ssh->kex->hash->hlen);
          if (var_2 != 0) {
            var_56 = (*ssh->hostkey->fmtkey)((void *)var_4[0x22]);
            var_4[0x1d] = (int)var_56;
            if (var_4[0x4d] == 0) {
              var_6 = 0;
              var_33 = *(int *)(var_1 + 0x6f604);
              var_36 = 0;
              var_3 = *(int *)(var_1 + 0x6f5bc);
              var_2 = 0;
              var_37 = *(type_13 **)(var_1 + 0x6fbc0);
              var_39 = (type_9 *)(*(int *)(var_1 + 0x6f5ac) + 0x1ed8);
              do {
                if ((ssh->hostkey != var_37) && (0 < ssh->n_uncert_hostkeys)) {
                  var_43 = ssh->uncert_hostkeys;
                  if (var_36 != ssh->uncert_hostkeys[0]) {
                    var_30 = 0;
                    do {
                      var_43 = var_43 + 1;
                      var_30 = var_30 + 1;
                      if (var_30 == ssh->n_uncert_hostkeys) goto LAB_00044588;
                    } while (*var_43 != var_36);
                  }
                  if (var_2 == 0) {
                    var_30 = (**(type_20 **)(var_1 + 0x6f618))(var_33 + 0x3a0);
                  }
                  else {
                    var_30 = (**(type_20 **)(var_1 + 0x6f618))(var_3 + 0x5f54,var_2,var_37->name);
                  }
                  var_6 = var_6 + 1;
                  (**(type_20 **)(var_1 + 0x6f5e4))(var_2);
                  var_2 = var_30;
                }
LAB_00044588:
                var_36 = var_36 + 1;
                var_39 = var_39 + 2;
                if (var_36 == 6) goto LAB_000456a8;
                var_37 = (type_13 *)*var_39;
              } while( true );
            }
            if (ssh->cross_certifying != 0) {
              var_2 = (**(type_20 **)(var_1 + 0x6fc0c))(ssh->hostkey,var_4[0x22]);
              var_48 = ssh->frontend;
              var_4[0x1e] = var_2;
              (**(type_20 **)(var_17 + var_1 + 4))
                        (var_48,*(int *)(var_1 + 0x6f5bc) + 0x604c);
              (**(type_20 **)(var_17 + var_1 + 4))(ssh->frontend,var_4[0x1e])
              ;
              (**(type_20 **)(var_1 + 0x6f5e4))(var_4[0x1e]);
              (**(type_20 **)(var_1 + 0x6fc1c))
                        (ssh->savedhost,ssh->savedport,ssh->hostkey->keytype,var_4[0x1d]);
              var_56 = (char *)var_4[0x1d];
              ssh->cross_certifying = 0;
              ssh->hostkey_str = var_56;
              goto LAB_000430d8;
            }
            var_2 = (**(type_20 **)(var_1 + 0x70154))(ssh->hostkey_str,var_56);
            if (var_2 != 0) {
              var_73 = *(type_20 **)(var_1 + 0x6f618);
              var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x6078);
              goto LAB_0004361c;
            }
            (**(type_20 **)(var_1 + 0x6f5e4))(var_56);
            var_37 = ssh->hostkey;
            goto LAB_000430dc;
          }
          var_73 = *(type_20 **)(var_1 + 0x6f618);
          var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5f1c);
        }
      }
    }
    else {
      (**(type_20 **)(var_1 + 0x6f5e4))(var_4[0x1c]);
      var_73 = *(type_20 **)(var_1 + 0x6f618);
      var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5e7c);
    }
    goto LAB_0004361c;
  }
  if (var_6 < 0x1c92) {
    if (var_6 == 0x1bec) {
      if (var_7 == (type_2 *)0x0) {
        *var_4 = 0x1bec;
        goto LAB_00042f18;
      }
      if (var_7->type == 0x1f) {
        var_73 = (type_20 *)(*(int *)(var_1 + 0x6f974) + 0x7704);
        var_46(var_7,(char **)(var_4 + 0x1a),var_4 + 0x1f);
        if ((void *)var_4[0x1a] == (void *)0x0) {
LAB_00045a04:
          var_73 = *(type_20 **)(var_1 + 0x6f618);
          var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5d04);
        }
        else {
          var_35((type_12 *)&ssh->kex->hash->bytes,ssh->exhash,(void *)var_4[0x1a],
                      var_4[0x1f]);
          var_48 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)var_4[0x1a],var_4[0x1f]);
          pcVar38 = *(type_20 **)(var_1 + 0x6fba0);
          var_4[0x22] = (int)var_48;
          var_48 = (void *)(*pcVar38)(var_4[0x24],&var_49);
          if (var_48 == (void *)0x0) {
            (**(type_20 **)(var_26 + var_1 + 4))(var_4[0x24]);
            var_73 = *(type_20 **)(var_1 + 0x6f618);
            var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5d28);
          }
          else {
            var_35((type_12 *)&ssh->kex->hash->bytes,ssh->exhash,var_48,var_49);
            (**(type_20 **)(var_1 + 0x6f5e4))(var_48);
            (*var_73)(var_7,&var_28,&var_49);
            if (var_28 == (char *)0x0) goto LAB_00045a04;
            var_35((type_12 *)&ssh->kex->hash->bytes,ssh->exhash,var_28,var_49);
            var_2 = (**(type_20 **)(var_1 + 0x6fba4))(var_4[0x24],var_28,var_49);
            var_4[0xb] = var_2;
            if (var_2 != 0) {
              (*var_73)(var_7,var_4 + 0x1b,var_4 + 0x20);
              if (var_4[0x1b] != 0) {
                (**(type_20 **)(var_26 + var_1 + 4))(var_4[0x24]);
                goto LAB_0004446c;
              }
              goto LAB_000459b4;
            }
            (**(type_20 **)(var_26 + var_1 + 4))(var_4[0x24]);
            var_73 = *(type_20 **)(var_1 + 0x6f618);
            var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5d54);
          }
        }
      }
      else {
        (**(type_20 **)(var_26 + var_1 + 4))(var_4[0x24]);
        var_73 = *(type_20 **)(var_1 + 0x6f618);
        var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5cdc);
      }
      goto LAB_0004361c;
    }
    if (var_6 == 0x1c2a) {
      if (var_7 != (type_2 *)0x0) {
        if (var_7->type == 0x1e) {
          var_46(var_7,(char **)(var_4 + 0x1a),var_4 + 0x1f);
          if ((void *)var_4[0x1a] != (void *)0x0) {
            var_35((type_12 *)&ssh->kex->hash->bytes,ssh->exhash,(void *)var_4[0x1a],
                        var_4[0x1f]);
            var_48 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)var_4[0x1a],var_4[0x1f]);
            var_4[0x22] = (int)var_48;
            var_46(var_7,(char **)&var_49,var_4 + 0x21);
            if (var_49 != 0) {
              var_2 = (**(type_20 **)(var_1 + 0x6f61c))(var_4[0x21],1);
              var_4[0x1c] = var_2;
              (**(type_20 **)(var_1 + 0x7011c))(var_2,var_49,var_4[0x21]);
              var_2 = (**(type_20 **)(var_1 + 0x6fba8))(var_4[0x1c],var_4[0x21]);
              var_4[0x23] = var_2;
              if (var_2 != 0) {
                var_35((type_12 *)&ssh->kex->hash->bytes,ssh->exhash,(void *)var_4[0x1c],
                            var_4[0x21]);
                var_2 = (**(type_20 **)(var_1 + 0x6fbac))(var_4[0x23]);
                var_3 = 0x800;
                if (ssh->kex == *(type_15 **)(var_1 + 0x6fbb0)) {
                  var_3 = 0x400;
                }
                if (var_3 <= var_2) {
                  var_44 = var_2 - (ssh->kex->hash->hlen * 0x10 + 0x31);
                  if ((int)var_44 < 1) {
                    (**(type_20 **)(var_1 + 0x6ff40))
                              (*(int *)(var_1 + 0x6f5bc) + 0x5e70,*(int *)(var_1 + 0x6f5bc) + 0x35c0
                               ,0x1c61,*(int *)(var_1 + 0x6f5bc) + 0x7e6c);
                    return;
                  }
                  pBVar10 = var_50(var_44 - 1);
                  var_4[0xb] = (int)pBVar10;
                  var_15 = 0;
                  var_51 = 0;
                  do {
                    if ((var_51 & 7) == 0) {
                      var_15 = (**(type_20 **)(var_1 + 0x6fae8))();
                    }
                    var_53 = var_51 + 1;
                    var_52((type_8)var_4[0xb],var_51,
                                   var_15 >> (var_51 & 7) & 1);
                    var_51 = var_53;
                  } while (var_44 != var_53);
                  var_2 = var_2 + 7 >> 3;
                  var_65 = var_24((type_7)var_4[0xb],&var_49);
                  var_3 = var_49 + 4;
                  var_54 = (type_10 *)(**(type_20 **)(var_1 + 0x6f61c))(var_3,1);
                  *var_54 = var_49._0_1_;
                  var_73 = *(type_20 **)(var_1 + 0x7011c);
                  var_54[1] = (char)((type_11)var_49 >> 0x10);
                  var_54[2] = (char)((type_11)var_49 >> 8);
                  var_54[3] = (char)var_49;
                  (*var_73)(var_54 + 4,var_65,var_49);
                  uVar11 = (**(type_20 **)(var_1 + 0x6f61c))(var_2,1);
                  (**(type_20 **)(var_1 + 0x6fc00))
                            (ssh->kex->hash,var_54,var_3,uVar11,var_2,var_4[0x23]);
                  pPVar26 = var_18(0x1f);
                  var_4[0x4f] = (int)pPVar26;
                  x[0] = '\0';
                  x[1] = '\0';
                  x[2] = '\0';
                  x[3] = '\0';
                    /* WARNING: Subroutine does not return */
                  var_19(pPVar26,x,4);
                }
                (**(type_20 **)(var_1 + 0x6f5e4))(var_4[0x1c]);
                var_56 = (char *)(**(type_20 **)(var_1 + 0x6f618))
                                            (*(int *)(var_1 + 0x6f5bc) + 0x5e20,var_2,var_3,
                                             ssh->kex->name);
                goto LAB_00043628;
              }
              (**(type_20 **)(var_1 + 0x6f5e4))(var_4[0x1c]);
              var_73 = *(type_20 **)(var_1 + 0x6f618);
              var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5df4);
              goto LAB_0004361c;
            }
          }
          var_73 = *(type_20 **)(var_1 + 0x6f618);
          var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5dcc);
        }
        else {
          var_73 = *(type_20 **)(var_1 + 0x6f618);
          var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5da0);
        }
        goto LAB_0004361c;
      }
LAB_000451dc:
      *var_4 = 0x1c2a;
      goto LAB_00042f18;
    }
    if (var_6 != 0x1b96) goto LAB_00042f14;
    if (var_7 == (type_2 *)0x0) {
      *var_4 = 0x1b96;
      goto LAB_00042f18;
    }
    if (var_7->type != var_4[0xf]) {
      var_73 = *(type_20 **)(var_1 + 0x6f618);
      var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5bd8);
      goto LAB_0004361c;
    }
    (**(type_20 **)(var_1 + 0x6fb80))(ssh->frontend,2);
    var_46(var_7,(char **)(var_4 + 0x1a),var_4 + 0x1f);
    if ((char *)var_4[0x1a] == (char *)0x0) {
LAB_000459b4:
      var_73 = *(type_20 **)(var_1 + 0x6f618);
      var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5c08);
      goto LAB_0004361c;
    }
    var_48 = (*ssh->hostkey->newkey)(ssh->hostkey,(char *)var_4[0x1a],var_4[0x1f]);
    var_4[0x22] = (int)var_48;
    var_9 = var_8(var_7);
    var_4[10] = (int)var_9;
    if ((var_9 == (type_7)0x0) ||
       (var_46(var_7,(char **)(var_4 + 0x1b),var_4 + 0x20), var_4[0x1b] == 0))
    goto LAB_000459b4;
    var_56 = var_55(ssh->kex_ctx,(type_7)var_4[10]);
    if (var_56 == (char *)0x0) {
      var_9 = var_57(ssh->kex_ctx,(type_7)var_4[10]);
      var_48 = ssh->frontend;
      var_73 = *(type_20 **)(var_1 + 0x6fb80);
      var_4[0xb] = (int)var_9;
      (*var_73)(var_48,0);
      var_35((type_12 *)&ssh->kex->hash->bytes,ssh->exhash,(void *)var_4[0x1a],var_4[0x1f]
                 );
      var_2 = var_16(ssh->kex);
      if (var_2 == 0) {
        psVar19 = ssh->kex;
      }
      else {
        var_48 = ssh->exhash;
        p_Var36 = ssh->kex->hash->bytes;
        if ((ssh->remote_bugs & 0x1000U) == 0) {
          x[0] = '\0';
          x[1] = '\0';
          x[2] = '\x04';
          x[3] = '\0';
          (*p_Var36)(var_48,x,4);
          var_48 = ssh->exhash;
          p_Var36 = ssh->kex->hash->bytes;
        }
        x = *(type_3 (*) [4])(var_4 + 2);
        (*p_Var36)(var_48,x,4);
        if ((ssh->remote_bugs & 0x1000U) == 0) {
          x[0] = '\0';
          x[1] = '\0';
          x[2] = ' ';
          x[3] = '\0';
          (*ssh->kex->hash->bytes)(ssh->exhash,x,4);
        }
        var_47(ssh->kex->hash,ssh->exhash,(type_7)var_4[7]);
        var_47(ssh->kex->hash,ssh->exhash,(type_7)var_4[8]);
        psVar19 = ssh->kex;
      }
      var_47(psVar19->hash,ssh->exhash,(type_7)var_4[9]);
      var_47(ssh->kex->hash,ssh->exhash,(type_7)var_4[10]);
      var_58(ssh->kex_ctx);
                    /* WARNING: Subroutine does not return */
      var_59((type_8)var_4[10]);
    }
    var_56 = (char *)(**(type_20 **)(var_1 + 0x6f618))(*(int *)(var_1 + 0x6f5bc) + 0x5c34,var_56);
    goto LAB_00043628;
  }
  if (var_6 != 0x1d8a) {
    if (var_6 == 0x1e09) {
      if (var_7 == (type_2 *)0x0) {
        if (var_11 < 0) {
          if (var_11 != -2) {
LAB_00044e58:
            if ((ssh->remote_bugs & 0x40U) == 0) {
              var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x6274),vin);
              var_45();
              return;
            }
            var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x6248),vin);
            ssh->outgoing_data_size = 0;
            var_73 = *(type_20 **)(var_1 + 0x6f648);
            ssh->incoming_data_size = 0;
            (*var_73)(ssh->conf,0x1a);
            return;
          }
          if (var_4[0x4b] != 0) {
            (**(type_20 **)(var_1 + 0x6ff40))
                      (*(int *)(var_1 + 0x6f5bc) + 0x6230,*(int *)(var_1 + 0x6f5bc) + 0x35c0,0x1e21,
                       *(int *)(var_1 + 0x6f5bc) + 0x7e6c);
            return;
          }
          var_4[0x4b] = 1;
          if (var_4[0x4c] != 0) {
            var_4[0x4c] = 0;
            goto LAB_00044e58;
          }
        }
      }
      else if (var_7->type == 0x14) {
        (**(type_20 **)(var_17 + var_1 + 4))
                  (ssh->frontend,*(int *)(var_1 + 0x6f5bc) + 0x620c);
        var_45();
        return;
      }
      if (ssh->protocol_initial_phase_done == 0) {
        ssh->protocol_initial_phase_done = 1;
        var_60(ssh,(type_3 *)0x0,0,(type_2 *)0x0);
        *var_4 = 0x1e09;
        var_12 = ssh;
      }
      else {
        *var_4 = 0x1e09;
      }
      goto LAB_00042f18;
    }
    if (var_6 != 0x1cf9) goto LAB_00042f14;
    var_12 = *(type_1 *)(var_1 + 0x6f5bc);
    if (var_7 == (type_2 *)0x0) {
      if (var_11 < 1) {
        var_4[0x50] = ssh->user_response;
        goto LAB_00043094;
      }
      goto LAB_000457e0;
    }
    var_73 = *(type_20 **)(var_1 + 0x6f618);
    var_43 = &var_12[0xe].agentfwd_enabled;
    goto LAB_0004361c;
  }
  if (var_7 == (type_2 *)0x0) goto LAB_000434a4;
  if (var_7->type != 0x15) {
    var_73 = *(type_20 **)(var_1 + 0x6f618);
    var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x6160);
    goto LAB_0004361c;
  }
  ssh->incoming_data_size = 0;
  if (ssh->sc_cipher_ctx != (void *)0x0) {
    (*ssh->sccipher->free_context)(ssh->sc_cipher_ctx);
  }
  var_61 = (type_4 *)var_4[0x13];
  if (var_61 != (type_4 *)0x0) {
    p_Var34 = var_61->make_context;
    ssh->sccipher = var_61;
    var_48 = (*p_Var34)();
    ssh->sc_cipher_ctx = var_48;
  }
  if (ssh->sc_mac_ctx != (void *)0x0) {
    (*ssh->scmac->free_context)(ssh->sc_mac_ctx);
  }
  var_62 = (type_5 *)var_4[0x15];
  if (var_62 != (type_5 *)0x0) {
    var_2 = var_4[0x17];
    p_Var35 = var_62->make_context;
    ssh->scmac = var_62;
    ssh->scmac_etm = var_2;
    var_48 = (*p_Var35)(ssh->sc_cipher_ctx);
    ssh->sc_mac_ctx = var_48;
  }
  if (ssh->sc_comp_ctx != (void *)0x0) {
    (*ssh->sccomp->decompress_cleanup)(ssh->sc_comp_ctx);
  }
  psVar6 = (type_6 *)var_4[0x19];
  ssh->sccomp = psVar6;
  var_48 = (*psVar6->decompress_init)();
  ssh->sc_comp_ctx = var_48;
  if (ssh->sccipher != (type_4 *)0x0) {
    var_65 = var_63(ssh,(type_7)var_4[0xb],(type_3 *)(var_4 + 0x25),'D',
                         ssh->sccipher->padded_keybytes);
    (*ssh->sccipher->setkey)(ssh->sc_cipher_ctx,var_65);
    (**(type_20 **)(var_1 + 0x6f674))(var_65,ssh->sccipher->padded_keybytes);
    (**(type_20 **)(var_1 + 0x6f5e4))(var_65);
    var_65 = var_63(ssh,(type_7)var_4[0xb],(type_3 *)(var_4 + 0x25),'B',
                         ssh->sccipher->blksize);
    (*ssh->sccipher->setiv)(ssh->sc_cipher_ctx,var_65);
    (**(type_20 **)(var_1 + 0x6f674))(var_65,ssh->sccipher->blksize);
    (**(type_20 **)(var_1 + 0x6f5e4))(var_65);
  }
  if (ssh->scmac == (type_5 *)0x0) {
    var_61 = ssh->sccipher;
    if (var_61 == (type_4 *)0x0) {
      psVar6 = ssh->sccomp;
      goto LAB_0004483c;
    }
LAB_000447c0:
    var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x6188),var_61->text_name);
  }
  else {
    var_65 = var_63(ssh,(type_7)var_4[0xb],(type_3 *)(var_4 + 0x25),'F',ssh->scmac->keylen);
    (*ssh->scmac->setkey)(ssh->sc_mac_ctx,var_65);
    (**(type_20 **)(var_1 + 0x6f674))(var_65,ssh->scmac->keylen);
    (**(type_20 **)(var_1 + 0x6f5e4))(var_65);
    var_61 = ssh->sccipher;
    if (var_61 != (type_4 *)0x0) goto LAB_000447c0;
  }
  if (ssh->scmac != (type_5 *)0x0) {
    if (ssh->scmac_etm == 0) {
      var_2 = *(int *)(var_1 + 0x6f5bc) + 0x4f64;
    }
    else {
      var_2 = *(int *)(var_1 + 0x6f5bc) + 0x585c;
    }
    if (ssh->sccipher->required_mac == (type_5 *)0x0) {
      var_3 = *(int *)(var_1 + 0x6f5bc) + 0x4f64;
    }
    else {
      var_3 = *(int *)(var_1 + 0x6f5bc) + 0x586c;
    }
    var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x61b8),ssh->scmac->text_name,var_2,var_3);
  }
  psVar6 = ssh->sccomp;
LAB_0004483c:
  if (psVar6->text_name != (char *)0x0) {
    var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x61ec));
  }
                    /* WARNING: Subroutine does not return */
  var_59((type_8)var_4[0xb]);
code_r0x00043b68:
  if ((var_41 < 2) &&
     (var_31 = (*pcVar38)(*(type_9 *)(var_43[0x54] + 4),var_56,var_6), var_31 != 0)) {
    var_4[0x4c] = 1;
  }
  var_30 = var_30 + 1;
  var_43 = var_43 + 3;
  if (var_30 == 0x10) {
LAB_00043b7c:
    var_56 = (char *)(**(type_20 **)(var_1 + 0x6f618))
                                (*(int *)(var_1 + 0x6f5bc) + 0x59c8,kexlist_descr[var_29],var_6,
                                 var_56);
    goto LAB_00043628;
  }
  goto LAB_00043b44;
LAB_000456a8:
  if (var_2 != 0) {
    if (var_6 < 2) {
      var_6 = *(int *)(var_1 + 0x6f5bc) + 0x4f64;
      var_3 = *(int *)(var_1 + 0x6f5bc) + -0x608;
    }
    else {
      var_6 = *(int *)(var_1 + 0x6f604) + 0x330;
      var_3 = *(int *)(var_1 + 0x6f5bc) + 0x5850;
    }
    var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x5f5c),var_2,var_6,var_3);
    (**(type_20 **)(var_1 + 0x6f5e4))(var_2);
  }
  var_2 = (**(type_20 **)(var_1 + 0x6fc0c))(ssh->hostkey,var_4[0x22]);
  var_48 = ssh->frontend;
  var_4[0x1e] = var_2;
  (**(type_20 **)(var_17 + var_1 + 4))
            (var_48,*(int *)(var_1 + 0x6f5bc) + 0x5f90);
  (**(type_20 **)(var_17 + var_1 + 4))(ssh->frontend,var_4[0x1e]);
  var_2 = var_64(ssh,(char *)var_4[0x1e],ssh->hostkey,(void *)var_4[0x22]);
  var_4[0x50] = var_2;
  if (var_2 != 0) {
    var_73 = *(type_20 **)(var_1 + 0x6f5e4);
    if (-1 < var_2) {
LAB_000430c8:
      (*var_73)(var_4[0x1e]);
      ssh->hostkey_str = (char *)var_4[0x1d];
LAB_000430d8:
      var_37 = ssh->hostkey;
LAB_000430dc:
      (*var_37->freekey)((void *)var_4[0x22]);
      if (var_4[0x4d] == 0) {
        var_43 = var_4 + 0x25;
        var_65 = ssh->v2_session_id;
        do {
          var_33 = *var_43;
          var_6 = var_43[1];
          var_3 = var_43[2];
          var_2 = var_43[3];
          var_43 = var_43 + 4;
          *(int *)var_65 = var_33;
          *(int *)(var_65 + 4) = var_6;
          *(int *)(var_65 + 8) = var_3;
          *(int *)(var_65 + 0xc) = var_2;
          var_65 = var_65 + 0x10;
        } while (var_43 != var_4 + 0x35);
        var_44 = ssh->kex->hash->hlen;
        ssh->v2_session_id_len = var_44;
        if (0x40 < var_44) {
          (**(type_20 **)(var_1 + 0x6ff40))
                    (*(int *)(var_1 + 0x6f5bc) + 0x60a8,*(int *)(var_1 + 0x6f5bc) + 0x35c0,0x1d37,
                     *(int *)(var_1 + 0x6f5bc) + 0x7e6c);
          return;
        }
        var_4[0x4d] = 1;
      }
      pPVar26 = var_18(0x15);
      var_4[0x4f] = (int)pPVar26;
      var_66(ssh,pPVar26);
      ssh->outgoing_data_size = 0;
      if (ssh->cs_cipher_ctx != (void *)0x0) {
        (*ssh->cscipher->free_context)(ssh->cs_cipher_ctx);
      }
      var_61 = (type_4 *)var_4[0x12];
      ssh->cscipher = var_61;
      if (var_61 != (type_4 *)0x0) {
        var_48 = (*var_61->make_context)();
        ssh->cs_cipher_ctx = var_48;
      }
      if (ssh->cs_mac_ctx != (void *)0x0) {
        (*ssh->csmac->free_context)(ssh->cs_mac_ctx);
      }
      var_62 = (type_5 *)var_4[0x14];
      var_2 = var_4[0x16];
      ssh->csmac = var_62;
      ssh->csmac_etm = var_2;
      if (var_62 != (type_5 *)0x0) {
        var_48 = (*var_62->make_context)(ssh->cs_cipher_ctx);
        ssh->cs_mac_ctx = var_48;
      }
      if (ssh->cs_comp_ctx != (void *)0x0) {
        (*ssh->cscomp->compress_cleanup)(ssh->cs_comp_ctx);
      }
      psVar6 = (type_6 *)var_4[0x18];
      ssh->cscomp = psVar6;
      var_48 = (*psVar6->compress_init)();
      ssh->cs_comp_ctx = var_48;
      if (ssh->cscipher != (type_4 *)0x0) {
        var_65 = var_63(ssh,(type_7)var_4[0xb],(type_3 *)(var_4 + 0x25),'C',
                             ssh->cscipher->padded_keybytes);
        (*ssh->cscipher->setkey)(ssh->cs_cipher_ctx,var_65);
        (**(type_20 **)(var_1 + 0x6f674))(var_65,ssh->cscipher->padded_keybytes);
        (**(type_20 **)(var_1 + 0x6f5e4))(var_65);
        var_65 = var_63(ssh,(type_7)var_4[0xb],(type_3 *)(var_4 + 0x25),'A',
                             ssh->cscipher->blksize);
        (*ssh->cscipher->setiv)(ssh->cs_cipher_ctx,var_65);
        (**(type_20 **)(var_1 + 0x6f674))(var_65,ssh->cscipher->blksize);
        (**(type_20 **)(var_1 + 0x6f5e4))(var_65);
      }
      if (ssh->csmac == (type_5 *)0x0) {
        var_61 = ssh->cscipher;
        if (var_61 != (type_4 *)0x0) goto LAB_0004339c;
        psVar6 = ssh->cscomp;
      }
      else {
        var_65 = var_63(ssh,(type_7)var_4[0xb],(type_3 *)(var_4 + 0x25),'E',
                             ssh->csmac->keylen);
        (*ssh->csmac->setkey)(ssh->cs_mac_ctx,var_65);
        (**(type_20 **)(var_1 + 0x6f674))(var_65,ssh->csmac->keylen);
        (**(type_20 **)(var_1 + 0x6f5e4))(var_65);
        var_61 = ssh->cscipher;
        if (var_61 != (type_4 *)0x0) {
LAB_0004339c:
          var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x60e0),var_61->text_name);
        }
        if (ssh->csmac != (type_5 *)0x0) {
          if (ssh->csmac_etm == 0) {
            var_2 = *(int *)(var_1 + 0x6f5bc) + 0x4f64;
          }
          else {
            var_2 = *(int *)(var_1 + 0x6f5bc) + 0x585c;
          }
          if (ssh->cscipher->required_mac == (type_5 *)0x0) {
            var_3 = *(int *)(var_1 + 0x6f5bc) + 0x4f64;
          }
          else {
            var_3 = *(int *)(var_1 + 0x6f5bc) + 0x586c;
          }
          var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x6110),ssh->csmac->text_name,var_2,
                    var_3);
        }
        psVar6 = ssh->cscomp;
      }
      if (psVar6->text_name != (char *)0x0) {
        var_22(ssh,(char *)(*(int *)(var_1 + 0x6f5bc) + 0x6144));
      }
      ssh->queueing = 0;
      if (0 < ssh->queuelen) {
        var_15 = 0;
        do {
          var_2 = var_15 + 1;
          var_67(ssh,ssh->queue[var_15],0);
          var_15 = var_2;
        } while (var_2 < ssh->queuelen);
      }
      ssh->queuelen = 0;
      var_68(ssh);
      var_12 = ssh;
LAB_000434a4:
      *var_4 = 0x1d8a;
      goto LAB_00042f18;
    }
    var_13 = ssh->s;
    if (var_13 != (type_14)0x0) {
      (*(*var_13)->set_frozen)(var_13,1);
    }
    var_73 = *(type_20 **)(var_1 + 0x6fc14);
    var_56 = ssh->hostkey->keytype;
    var_2 = *(int *)(var_1 + 0x6fb0c);
    var_3 = var_4[0x1e];
    var_12 = (type_1)ssh->frontend;
    ssh->frozen = 1;
    var_2 = (*var_73)(var_12,ssh->savedhost,ssh->savedport,var_56,var_4[0x1d],var_3,
                        var_2 + -0xf58,ssh);
    var_4[0x50] = var_2;
    if (var_2 < 0) {
LAB_000457e0:
      *var_4 = 0x1cf9;
      goto LAB_00042f18;
    }
LAB_00043094:
    var_13 = ssh->s;
    if (var_13 != (type_14)0x0) {
      (*(*var_13)->set_frozen)(var_13,0);
    }
    ssh->frozen = 0;
    if (var_4[0x50] != 0) {
      var_73 = *(type_20 **)(var_1 + 0x6f5e4);
      goto LAB_000430c8;
    }
    var_56 = (char *)(*(int *)(var_1 + 0x6f5bc) + 0x6028);
LAB_00045800:
    var_69(ssh,var_56,(char *)0x0,0,1);
    *var_4 = 0;
    var_12 = ssh;
    goto LAB_00042f18;
  }
  var_73 = *(type_20 **)(var_1 + 0x6f618);
  var_43 = (int *)(*(int *)(var_1 + 0x6f5bc) + 0x5fac);
LAB_0004361c:
  var_56 = (char *)(*var_73)(var_43);
LAB_00043628:
  var_70(ssh,var_56);
  var_12 = ssh;
LAB_00042f14:
  *var_4 = 0;
LAB_00042f18:
  if (var_71 == *piVar2) {
    return;
  }
  var_73 = *(type_20 **)(var_1 + 0x700ec);
  (*var_73)();
  var_65 = var_12->deferred_send_data;
  var_2 = var_72((type_1)&var_12->s,var_12->logctx,(int)var_65,
                   (type_1)var_12->deferred_len);
  var_12->deferred_size = 0;
  pcVar38 = *(type_20 **)(var_73 + 0x6c288);
  var_12->deferred_len = 0;
  (*pcVar38)(var_12->deferred_send_data);
  var_12->deferred_send_data = (type_3 *)0x0;
  if ((0x8000 < var_2) && (var_12->throttled_all != 1)) {
    var_12->throttled_all = 1;
    var_12->overall_bufsize = var_2;
    if (var_12->channels != (type_22 *)0x0) {
      var_74(var_12,1,(int)var_65);
    }
  }
  if (var_12->version == 2) {
    var_75 = var_12->deferred_data_size;
    var_12->deferred_data_size = 0;
    var_44 = var_12->outgoing_data_size + var_75;
    var_12->outgoing_data_size = var_44;
    if ((((var_12->kex_in_progress == 0) && (var_12->bare_connection == 0)) &&
        (var_12->max_data_size != 0)) && (var_12->max_data_size < var_44)) {
      function_1(var_12,(void *)(*(int *)(var_73 + 0x6c260) + 0x6294),-1,(type_2 *)0x0);
      return;
    }
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator 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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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 (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (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 (subscript_expression argument: (identifier) index: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (labeled_statement label: (statement_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))))) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (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: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (subscript_expression argument: (identifier) index: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (true))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (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: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (subscript_expression argument: (identifier) index: (number_literal))))) (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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list))))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (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))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) 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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal)))) (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal)))))) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal)))))) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (binary_expression left: (identifier) right: (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal))))) right: (number_literal)) right: (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 (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (identifier) (identifier) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal))))) (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)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (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: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (subscript_expression argument: (identifier) index: (number_literal)))))) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (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 (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) 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: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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))))) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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)))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (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: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (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: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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))) (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))) (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))) (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))) (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))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) body: (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: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (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)))))) arguments: (argument_list (identifier) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) 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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (labeled_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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) right: (comma_expression left: (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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))))))))) arguments: (argument_list)))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (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: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (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: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) alternative: (else_clause (compound_statement (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: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))))))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_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: (subscript_expression argument: (identifier) index: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) (break_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_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: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (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))) (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))) (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))) (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))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) arguments: (argument_list))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))) arguments: (argument_list))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (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: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) 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: (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)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (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))))))))) (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 (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) 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: (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)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) 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: (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)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) 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: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (call_expression function: (identifier) arguments: (argument_list (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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (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: (number_literal) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal))))) (goto_statement label: (statement_identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (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: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal)))) (return_statement))))) (return_statement) (labeled_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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (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: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list))))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (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))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) 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 (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) 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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (identifier) index: (identifier)) (identifier) (identifier)))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))))

void MASKED(int *param_1,undefined4 param_2,int param_3,int *param_4)

{
  char cVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  undefined *puVar5;
  undefined1 uVar9;
  undefined *puVar6;
  int iVar7;
  undefined1 *puVar8;
  code *pcVar10;
  undefined *puVar11;
  int iVar12;
  int iVar13;
  int *piVar14;
  undefined *puVar15;
  int iVar16;
  undefined4 uVar17;
  int *piVar18;
  undefined4 *puVar19;
  uint uVar20;
  uint uVar21;
  undefined4 uVar22;
  int *piVar23;
  int iVar24;
  int *piVar25;
  undefined *puVar26;
  int *piVar27;
  code *pcVar28;
  int *piVar29;
  int *piVar30;
  int local_90;
  int *local_8c;
  int local_80;
  uint local_74;
  uint local_6c;
  int *local_68;
  int local_58;
  uint local_54;
  int *local_50 [4];
  undefined *local_40;
  undefined *local_3c;
  undefined *local_38;
  undefined *local_34;
  int local_30;
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_000b2f04;
  puVar15 = PTR_s_acket_from_server___s_000b23a8;
  local_50[2] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58b0);
  local_50[3] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x58c8);
  local_2c = *(int *)PTR___stack_chk_guard_000b2f04;
  piVar18 = (int *)param_1[0x73];
  local_50[0] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x5884);
  local_50[1] = (int *)(PTR_s_acket_from_server___s_000b23a8 + 0x589c);
  local_40 = PTR_s_acket_from_server___s_000b23a8 + 0x58e0;
  local_3c = PTR_s_acket_from_server___s_000b23a8 + 0x58f8;
  local_38 = PTR_s_acket_from_server___s_000b23a8 + 0x5910;
  local_34 = PTR_s_acket_from_server___s_000b23a8 + 0x5934;
  piVar14 = local_50[2];
  if (piVar18 == (int *)0x0) {
    piVar14 = (int *)0x1;
    piVar18 = (int *)(*(code *)PTR_safemalloc_000b2408)(1,0x74c);
    param_1[0x73] = (int)piVar18;
    *piVar18 = 0;
  }
  if (param_1[0x3b] != 0) {
    (*(code *)PTR___assert_fail_000b2d2c)
              (PTR_s_acket_from_server___s_000b23a8 + 0x5958,
               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18f9,
               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
    return;
  }
  if (param_1[0x66] != 2) {
    (*(code *)PTR___assert_fail_000b2d2c)
              (PTR_s_acket_from_server___s_000b23a8 + 0x4af0,
               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x18fa,
               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
    return;
  }
  iVar3 = *piVar18;
  if (iVar3 == 0x1b73) {
    if (param_4 == (int *)0x0) {
LAB_00044348:
      *piVar18 = 0x1b73;
      param_1 = piVar14;
      goto LAB_00042f18;
    }
    if (param_4[2] == 0x1f) {
      iVar3 = FUN_00037b74(param_4);
      piVar18[7] = iVar3;
      iVar3 = FUN_00037b74(param_4);
      piVar18[8] = iVar3;
      if ((piVar18[7] != 0) && (iVar3 != 0)) {
        iVar3 = dh_setup_gex(piVar18[7],iVar3);
        param_1[0x3a] = iVar3;
        piVar18[0xe] = 0x20;
        piVar18[0xf] = 0x21;
LAB_00043d90:
        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5ba8,
                     *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));
        (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);
        iVar3 = dh_create_e(param_1[0x3a],piVar18[1] << 1);
        piVar18[9] = iVar3;
        puVar19 = (undefined4 *)FUN_0003b04c(piVar18[0xe]);
        piVar18[0x4f] = (int)puVar19;
        uVar22 = FUN_00037c0c(piVar18[9],&local_54);
        local_30 = 0;
        FUN_0003aef4(puVar19,&local_30,4);
        puVar19[6] = *puVar19;
        FUN_0003b124(puVar19,uVar22,local_54);
        (*(code *)PTR_safefree_000b23d0)(uVar22);
        FUN_00046280(param_1,piVar18[0x4f]);
        piVar14 = (int *)param_1[0x44];
        (*(code *)PTR_set_busy_status_000b296c)(piVar14,1);
LAB_00043e9c:
        *piVar18 = 0x1b96;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b44;
    }
    else {
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5b14;
    }
LAB_0004361c:
    uVar22 = (*(code *)PTR_dupprintf_000b2404)(puVar15);
LAB_00043628:
    FUN_0003822c(param_1,uVar22);
    piVar14 = param_1;
  }
  else {
    local_8c = param_4;
    if (0x1b73 < iVar3) {
      if (iVar3 == 0x1c91) {
        if (param_4 == (int *)0x0) {
LAB_00045644:
          *piVar18 = 0x1c91;
          param_1 = piVar14;
          goto LAB_00042f18;
        }
        if (param_4[2] == 0x20) {
          FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20);
          if (piVar18[0x1b] == 0) {
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ea4;
          }
          else {
            (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);
LAB_0004446c:
            iVar3 = param_1[0x26];
LAB_00044470:
            FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[0xb]);
            if (0x40 < *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14)) {
              (*(code *)PTR___assert_fail_000b2d2c)
                        (PTR_s_acket_from_server___s_000b23a8 + 0x5ec8,
                         PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1ca2,
                         PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
              return;
            }
            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 0xc))(param_1[3],piVar18 + 0x25);
            iVar3 = piVar18[0x22];
            param_1[0x3a] = 0;
            if (iVar3 == 0) {
              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5efc;
            }
            else {
              iVar3 = (**(code **)(param_1[0x27] + 0x28))
                                (iVar3,piVar18[0x1b],piVar18[0x20],piVar18 + 0x25,
                                 *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x14));
              if (iVar3 != 0) {
                iVar3 = (**(code **)(param_1[0x27] + 8))(piVar18[0x22]);
                piVar18[0x1d] = iVar3;
                if (piVar18[0x4d] == 0) {
                  iVar16 = 0;
                  iVar12 = 0;
                  iVar3 = 0;
                  puVar19 = (undefined4 *)(PTR_DAT_000b2398 + 0x1ed8);
                  puVar6 = PTR_s_entropy_source_000b23f0 + 0x3a0;
                  puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5f54;
                  puVar15 = PTR_ssh_ecdsa_ed25519_000b29ac;
                  do {
                    if (((undefined *)param_1[0x27] != puVar15) && (0 < param_1[0x1b2])) {
                      if (iVar12 != param_1[0x1ac]) {
                        iVar7 = 0;
                        piVar14 = param_1 + 0x1ad;
                        do {
                          iVar7 = iVar7 + 1;
                          if (iVar7 == param_1[0x1b2]) goto LAB_00044588;
                          iVar13 = *piVar14;
                          piVar14 = piVar14 + 1;
                        } while (iVar13 != iVar12);
                      }
                      if (iVar3 == 0) {
                        iVar7 = (*(code *)PTR_dupprintf_000b2404)(puVar6);
                      }
                      else {
                        iVar7 = (*(code *)PTR_dupprintf_000b2404)
                                          (puVar5,iVar3,*(undefined4 *)(puVar15 + 0x30));
                      }
                      iVar16 = iVar16 + 1;
                      (*(code *)PTR_safefree_000b23d0)(iVar3);
                      iVar3 = iVar7;
                    }
LAB_00044588:
                    iVar12 = iVar12 + 1;
                    puVar19 = puVar19 + 2;
                    if (iVar12 == 6) goto LAB_000456a8;
                    puVar15 = (undefined *)*puVar19;
                  } while( true );
                }
                if (param_1[0x1b3] != 0) {
                  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);
                  iVar16 = param_1[0x44];
                  piVar18[0x1e] = iVar3;
                  (*(code *)PTR_logevent_000b242c)
                            (iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x604c);
                  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);
                  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);
                  (*(code *)PTR_store_host_key_000b2a08)
                            (param_1[0x3e],param_1[0x3f],*(undefined4 *)(param_1[0x27] + 0x34),
                             piVar18[0x1d]);
                  iVar3 = piVar18[0x1d];
                  param_1[0x1b3] = 0;
                  param_1[0x28] = iVar3;
                  goto LAB_000430d8;
                }
                iVar16 = (*(code *)PTR_strcmp_000b2f40)(param_1[0x28],iVar3);
                if (iVar16 != 0) {
                  puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6078;
                  goto LAB_0004361c;
                }
                (*(code *)PTR_safefree_000b23d0)(iVar3);
                iVar3 = param_1[0x27];
                goto LAB_000430dc;
              }
              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5f1c;
            }
          }
        }
        else {
          (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);
          puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5e7c;
        }
        goto LAB_0004361c;
      }
      if (0x1c91 < iVar3) {
        if (iVar3 == 0x1d8a) {
          if (param_4 == (int *)0x0) goto LAB_000434a4;
          if (param_4[2] != 0x15) {
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6160;
            goto LAB_0004361c;
          }
          param_1[0x1a1] = 0;
          if (param_1[0x1b] != 0) {
            (**(code **)(param_1[0x19] + 4))();
          }
          puVar19 = (undefined4 *)piVar18[0x13];
          if (puVar19 != (undefined4 *)0x0) {
            pcVar28 = (code *)*puVar19;
            param_1[0x19] = (int)puVar19;
            iVar3 = (*pcVar28)();
            param_1[0x1b] = iVar3;
          }
          if (param_1[0x21] != 0) {
            (**(code **)(param_1[0x1d] + 4))();
          }
          puVar19 = (undefined4 *)piVar18[0x15];
          if (puVar19 != (undefined4 *)0x0) {
            iVar3 = piVar18[0x17];
            pcVar28 = (code *)*puVar19;
            param_1[0x1d] = (int)puVar19;
            param_1[0x1f] = iVar3;
            iVar3 = (*pcVar28)(param_1[0x1b]);
            param_1[0x21] = iVar3;
          }
          if (param_1[0x25] != 0) {
            (**(code **)(param_1[0x23] + 0x18))();
          }
          iVar3 = piVar18[0x19];
          param_1[0x23] = iVar3;
          iVar3 = (**(code **)(iVar3 + 0x14))();
          param_1[0x25] = iVar3;
          if (param_1[0x19] != 0) {
            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x44,
                                  *(undefined4 *)(param_1[0x19] + 0x2c));
            (**(code **)(param_1[0x19] + 0xc))(param_1[0x1b],uVar22);
            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x2c));
            (*(code *)PTR_safefree_000b23d0)(uVar22);
            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x42,
                                  *(undefined4 *)(param_1[0x19] + 0x24));
            (**(code **)(param_1[0x19] + 8))(param_1[0x1b],uVar22);
            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x19] + 0x24));
            (*(code *)PTR_safefree_000b23d0)(uVar22);
          }
          if (param_1[0x1d] == 0) {
            iVar3 = param_1[0x19];
            if (iVar3 != 0) goto LAB_000447c0;
            iVar3 = param_1[0x23];
          }
          else {
            uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x46,
                                  *(undefined4 *)(param_1[0x1d] + 0x30));
            (**(code **)(param_1[0x1d] + 8))(param_1[0x21],uVar22);
            (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1d] + 0x30));
            (*(code *)PTR_safefree_000b23d0)(uVar22);
            iVar3 = param_1[0x19];
            if (iVar3 != 0) {
LAB_000447c0:
              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6188,
                           *(undefined4 *)(iVar3 + 0x34));
            }
            if (param_1[0x1d] != 0) {
              if (param_1[0x1f] == 0) {
                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
              }
              else {
                puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;
              }
              if (*(int *)(param_1[0x19] + 0x38) == 0) {
                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
              }
              else {
                puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;
              }
              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61b8,
                           *(undefined4 *)(param_1[0x1d] + 0x34),puVar6,puVar5);
            }
            iVar3 = param_1[0x23];
          }
          if (*(int *)(iVar3 + 0x24) != 0) {
            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x61ec);
          }
          freebn(piVar18[0xb]);
          (*(code *)PTR_update_specials_menu_000b2880)(param_1[0x44]);
          puVar6 = PTR_getticks_000b23ac;
          if (param_1[0x1a8] != 0) {
            (*(code *)PTR_logevent_000b242c)(param_1[0x44]);
            local_8c = (int *)0x0;
            param_1[0x1a8] = 0;
            goto LAB_000448a0;
          }
          param_1[0x1a5] = 0;
          iVar3 = (*(code *)puVar6)();
          puVar6 = PTR_conf_get_int_000b2434;
          piVar14 = (int *)param_1[0x92];
          param_1[0x1a7] = iVar3;
          iVar3 = (*(code *)puVar6)(piVar14,0x1a);
          if (iVar3 != 0) {
            iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);
            piVar14 = (int *)(iVar3 * 60000);
            iVar3 = (*(code *)PTR_schedule_timer_000b2568)
                              (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);
            param_1[0x1a6] = iVar3;
          }
LAB_00043eb4:
          if (param_4[2] == 0x14) {
            (*(code *)PTR_logevent_000b242c)
                      (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x620c);
            goto LAB_000448a0;
          }
        }
        else {
          if (iVar3 != 0x1e09) {
            if (iVar3 != 0x1cf9) goto LAB_00042f14;
            if (param_4 == (int *)0x0) {
              piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
              if (0 < param_3) goto LAB_000457e0;
              piVar18[0x50] = param_1[0x97];
              goto LAB_00043094;
            }
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fe0;
            goto LAB_0004361c;
          }
          if (param_4 != (int *)0x0) goto LAB_00043eb4;
          if (param_3 < 0) {
            if (param_3 == -2) {
              if (piVar18[0x4b] != 0) {
                (*(code *)PTR___assert_fail_000b2d2c)
                          (PTR_s_acket_from_server___s_000b23a8 + 0x6230,
                           PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1e21,
                           PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
                return;
              }
              piVar18[0x4b] = 1;
              if (piVar18[0x4c] == 0) goto LAB_00043ec8;
              piVar18[0x4c] = 0;
            }
            if ((param_1[0x14] & 0x40U) == 0) {
              FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6274,param_2);
              goto LAB_000448a0;
            }
            FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6248,param_2);
            piVar14 = (int *)param_1[0x92];
            param_1[0x1a2] = 0;
            puVar15 = PTR_conf_get_int_000b2434;
            param_1[0x1a1] = 0;
            iVar3 = (*(code *)puVar15)(piVar14,0x1a);
            if (iVar3 != 0) {
              iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x1a);
              piVar14 = (int *)(iVar3 * 60000);
              iVar3 = (*(code *)PTR_schedule_timer_000b2568)
                                (piVar14,PTR_LAB_000b28f8 + -0x1014,param_1);
              param_1[0x1a6] = iVar3;
            }
          }
        }
LAB_00043ec8:
        if (param_1[0x8e] == 0) {
          param_1[0x8e] = 1;
          FUN_0003f3f4(param_1,0,0,0);
          *piVar18 = 0x1e09;
        }
        else {
          *piVar18 = 0x1e09;
          param_1 = piVar14;
        }
        goto LAB_00042f18;
      }
      if (iVar3 == 0x1bec) {
        if (param_4 != (int *)0x0) {
          if (param_4[2] == 0x1f) {
            pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);
            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);
            if (piVar18[0x1a] == 0) {
LAB_00045a04:
              puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d04;
            }
            else {
              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])
              ;
              iVar3 = (**(code **)param_1[0x27])
                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);
              puVar15 = PTR_ssh_ecdhkex_getpublic_000b298c;
              piVar18[0x22] = iVar3;
              iVar3 = (*(code *)puVar15)(piVar18[0x24],&local_54);
              if (iVar3 == 0) {
                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d28;
              }
              else {
                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,local_54);
                (*(code *)PTR_safefree_000b23d0)(iVar3);
                (*pcVar28)(param_4,&local_58,&local_54);
                if (local_58 == 0) goto LAB_00045a04;
                FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],local_58,local_54);
                iVar3 = (*(code *)PTR_ssh_ecdhkex_getkey_000b2990)(piVar18[0x24],local_58,local_54);
                piVar18[0xb] = iVar3;
                if (iVar3 != 0) {
                  (*pcVar28)(param_4,piVar18 + 0x1b,piVar18 + 0x20);
                  if (piVar18[0x1b] == 0) goto LAB_000459b4;
                  (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
                  goto LAB_0004446c;
                }
                (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5d54;
              }
            }
          }
          else {
            (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cdc;
          }
          goto LAB_0004361c;
        }
LAB_00044a00:
        *piVar18 = 0x1bec;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      if (iVar3 == 0x1c2a) {
        if (param_4 != (int *)0x0) {
          if (param_4[2] == 0x1e) {
            FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);
            if (piVar18[0x1a] != 0) {
              FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f])
              ;
              iVar3 = (**(code **)param_1[0x27])
                                ((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);
              piVar18[0x22] = iVar3;
              FUN_00037704(param_4,&local_54,piVar18 + 0x21);
              if (local_54 != 0) {
                iVar3 = (*(code *)PTR_safemalloc_000b2408)(piVar18[0x21],1);
                piVar18[0x1c] = iVar3;
                (*(code *)PTR_memcpy_000b2f08)(iVar3,local_54,piVar18[0x21]);
                iVar3 = (*(code *)PTR_ssh_rsakex_newkey_000b2994)(piVar18[0x1c],piVar18[0x21]);
                piVar18[0x23] = iVar3;
                if (iVar3 != 0) {
                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1c],
                               piVar18[0x21]);
                  iVar3 = (*(code *)PTR_ssh_rsakex_klen_000b2998)(piVar18[0x23]);
                  iVar16 = 0x800;
                  if ((undefined *)param_1[0x26] == PTR_ssh_rsa_kex_sha1_000b299c) {
                    iVar16 = 0x400;
                  }
                  if (iVar3 < iVar16) {
                    (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);
                    uVar22 = (*(code *)PTR_dupprintf_000b2404)
                                       (PTR_s_acket_from_server___s_000b23a8 + 0x5e20,iVar3,iVar16,
                                        *(undefined4 *)param_1[0x26]);
                    goto LAB_00043628;
                  }
                  uVar4 = iVar3 - (*(int *)(*(int *)((undefined *)param_1[0x26] + 0xc) + 0x14) *
                                   0x10 + 0x31);
                  if ((int)uVar4 < 1) {
                    (*(code *)PTR___assert_fail_000b2d2c)
                              (PTR_s_acket_from_server___s_000b23a8 + 0x5e70,
                               PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1c61,
                               PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
                    return;
                  }
                  iVar16 = bn_power_2(uVar4 - 1);
                  piVar18[0xb] = iVar16;
                  local_80 = 0;
                  uVar21 = 0;
                  do {
                    if ((uVar21 & 7) == 0) {
                      local_80 = (*(code *)PTR_random_byte_000b28d4)();
                    }
                    uVar20 = uVar21 + 1;
                    bignum_set_bit(piVar18[0xb],uVar21,local_80 >> (uVar21 & 7) & 1);
                    uVar21 = uVar20;
                  } while (uVar4 != uVar20);
                  iVar16 = iVar3 + 7 >> 3;
                  uVar22 = FUN_00037c0c(piVar18[0xb],&local_54);
                  iVar3 = local_54 + 4;
                  puVar8 = (undefined1 *)(*(code *)PTR_safemalloc_000b2408)(iVar3,1);
                  *puVar8 = local_54._0_1_;
                  puVar15 = PTR_memcpy_000b2f08;
                  puVar8[1] = (char)(local_54 >> 0x10);
                  puVar8[2] = (char)(local_54 >> 8);
                  puVar8[3] = (char)local_54;
                  (*(code *)puVar15)(puVar8 + 4,uVar22,local_54);
                  uVar17 = (*(code *)PTR_safemalloc_000b2408)(iVar16,1);
                  (*(code *)PTR_ssh_rsakex_encrypt_000b29ec)
                            (*(undefined4 *)(param_1[0x26] + 0xc),puVar8,iVar3,uVar17,iVar16,
                             piVar18[0x23]);
                  puVar19 = (undefined4 *)FUN_0003b04c(0x1f);
                  piVar18[0x4f] = (int)puVar19;
                  local_30 = 0;
                  FUN_0003aef4(puVar19,&local_30,4);
                  iVar3 = piVar18[0x4f];
                  puVar19[6] = *puVar19;
                  FUN_0003b124(iVar3,uVar17,iVar16);
                  FUN_00046280(param_1,piVar18[0x4f]);
                  FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],uVar17,iVar16);
                  (*(code *)PTR_safefree_000b23d0)(puVar8);
                  (*(code *)PTR_safefree_000b23d0)(uVar22);
                  (*(code *)PTR_safefree_000b23d0)(uVar17);
                  piVar14 = (int *)piVar18[0x23];
                  (*(code *)PTR_ssh_rsakex_freekey_000b29f0)();
                  goto LAB_00045644;
                }
                (*(code *)PTR_safefree_000b23d0)(piVar18[0x1c]);
                puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5df4;
                goto LAB_0004361c;
              }
            }
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5dcc;
          }
          else {
            puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5da0;
          }
          goto LAB_0004361c;
        }
LAB_000451dc:
        *piVar18 = 0x1c2a;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      if (iVar3 != 0x1b96) goto LAB_00042f14;
      if (param_4 == (int *)0x0) goto LAB_00043e9c;
      if (param_4[2] != piVar18[0xf]) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5bd8;
        goto LAB_0004361c;
      }
      (*(code *)PTR_set_busy_status_000b296c)(param_1[0x44],2);
      FUN_00037704(param_4,piVar18 + 0x1a,piVar18 + 0x1f);
      if (piVar18[0x1a] == 0) {
LAB_000459b4:
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c08;
        goto LAB_0004361c;
      }
      iVar3 = (**(code **)param_1[0x27])((undefined4 *)param_1[0x27],piVar18[0x1a],piVar18[0x1f]);
      piVar18[0x22] = iVar3;
      iVar3 = FUN_00037b74(param_4);
      piVar18[10] = iVar3;
      if ((iVar3 == 0) || (FUN_00037704(param_4,piVar18 + 0x1b,piVar18 + 0x20), piVar18[0x1b] == 0))
      goto LAB_000459b4;
      iVar3 = dh_validate_f(param_1[0x3a],piVar18[10]);
      if (iVar3 == 0) {
        iVar3 = dh_find_K(param_1[0x3a],piVar18[10]);
        puVar15 = PTR_set_busy_status_000b296c;
        iVar16 = param_1[0x44];
        piVar18[0xb] = iVar3;
        (*(code *)puVar15)(iVar16,0);
        FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0x1a],piVar18[0x1f]);
        iVar3 = dh_is_gex(param_1[0x26]);
        if (iVar3 == 0) {
          iVar3 = param_1[0x26];
        }
        else {
          iVar3 = param_1[3];
          pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);
          if ((param_1[0x14] & 0x1000U) == 0) {
            local_30 = 0x400;
            (*pcVar28)(iVar3,&local_30,4);
            iVar3 = param_1[3];
            pcVar28 = *(code **)(*(int *)(param_1[0x26] + 0xc) + 8);
          }
          local_30 = piVar18[2];
          (*pcVar28)(iVar3,&local_30,4);
          if ((param_1[0x14] & 0x1000U) == 0) {
            local_30 = 0x2000;
            (**(code **)(*(int *)(param_1[0x26] + 0xc) + 8))(param_1[3],&local_30,4);
          }
          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[7]);
          FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[8]);
          iVar3 = param_1[0x26];
        }
        FUN_0003a270(*(undefined4 *)(iVar3 + 0xc),param_1[3],piVar18[9]);
        FUN_0003a270(*(undefined4 *)(param_1[0x26] + 0xc),param_1[3],piVar18[10]);
        dh_cleanup(param_1[0x3a]);
        freebn(piVar18[10]);
        iVar3 = dh_is_gex(param_1[0x26]);
        if (iVar3 == 0) goto LAB_0004446c;
        freebn(piVar18[8]);
        freebn(piVar18[7]);
        iVar3 = param_1[0x26];
        goto LAB_00044470;
      }
      uVar22 = (*(code *)PTR_dupprintf_000b2404)
                         (PTR_s_acket_from_server___s_000b23a8 + 0x5c34,iVar3);
      goto LAB_00043628;
    }
    if (iVar3 == 0x1aff) {
      if (param_4 != (int *)0x0) {
LAB_00043614:
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a44;
        goto LAB_0004361c;
      }
      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
      if (0 < param_3) {
LAB_00043d00:
        *piVar18 = 0x1aff;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      piVar18[0x50] = param_1[0x97];
LAB_00044370:
      piVar14 = (int *)param_1[4];
      if (piVar14 != (int *)0x0) {
        (**(code **)(*piVar14 + 0x18))(piVar14,0);
      }
      param_1[0x98] = 0;
      if (piVar18[0x50] == 0) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5aac;
        goto LAB_00045800;
      }
LAB_000443a0:
      if (piVar18[5] != 0) {
        piVar14 = (int *)param_1[4];
        if (piVar14 != (int *)0x0) {
          (**(code **)(*piVar14 + 0x18))(piVar14,1);
        }
        puVar6 = PTR_askalg_000b2974;
        uVar22 = *(undefined4 *)(piVar18[0x12] + 0x20);
        piVar14 = (int *)param_1[0x44];
        puVar5 = PTR_LAB_000b28f8 + -0xf58;
        param_1[0x98] = 1;
        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58b0,uVar22,puVar5,param_1);
        piVar18[0x50] = iVar3;
        if (iVar3 < 0) {
LAB_0004440c:
          *piVar18 = 0x1b18;
          param_1 = piVar14;
          goto LAB_00042f18;
        }
        goto LAB_000434e0;
      }
LAB_00043510:
      if (piVar18[6] != 0) {
        piVar14 = (int *)param_1[4];
        if (piVar14 != (int *)0x0) {
          (**(code **)(*piVar14 + 0x18))(piVar14,1);
        }
        puVar6 = PTR_askalg_000b2974;
        uVar22 = *(undefined4 *)(piVar18[0x13] + 0x20);
        piVar14 = (int *)param_1[0x44];
        puVar5 = PTR_LAB_000b28f8 + -0xf58;
        param_1[0x98] = 1;
        iVar3 = (*(code *)puVar6)(piVar14,puVar15 + 0x58c8,uVar22,puVar5,param_1);
        piVar18[0x50] = iVar3;
        if (iVar3 < 0) {
LAB_000454a0:
          *piVar18 = 0x1b31;
          param_1 = piVar14;
          goto LAB_00042f18;
        }
        goto LAB_00043578;
      }
LAB_000435a8:
      param_4 = (int *)piVar18[0x52];
joined_r0x0004422c:
      if (param_4 == (int *)0x0) {
        *piVar18 = 0x1b43;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      iVar3 = param_1[0x26];
      if (*(int *)(iVar3 + 8) == 0) {
        iVar16 = 0;
        if (piVar18[0x12] != 0) {
          iVar16 = *(int *)(piVar18[0x12] + 0x28);
        }
        local_80 = 0;
        if (piVar18[0x13] != 0) {
          local_80 = *(int *)(piVar18[0x13] + 0x28);
        }
        if (local_80 <= iVar16) {
          local_80 = iVar16;
        }
        iVar3 = *(int *)(*(int *)(iVar3 + 0xc) + 0x14) << 3;
        if (iVar3 < local_80) {
          local_80 = iVar3;
        }
        piVar18[1] = local_80;
        iVar3 = dh_is_gex();
        if (iVar3 == 0) {
          param_1[0x61] = 1;
          iVar3 = dh_setup_group(param_1[0x26]);
          iVar16 = param_1[0x26];
          param_1[0x3a] = iVar3;
          piVar18[0xe] = 0x1e;
          puVar15 = PTR_s_acket_from_server___s_000b23a8;
          uVar22 = *(undefined4 *)(iVar16 + 4);
          piVar18[0xf] = 0x1f;
          FUN_00036ce8(param_1,puVar15 + 0x5b78,uVar22);
          goto LAB_00043d90;
        }
        (*(code *)PTR_logevent_000b242c)
                  (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x5af0);
        iVar16 = piVar18[1];
        param_1[0x61] = 2;
        iVar3 = iVar16 + -1;
        if (iVar3 < 0) {
          iVar3 = iVar16 + 0x3e;
        }
        iVar3 = 0x200 << (iVar3 >> 6 & 0x1fU);
        if (iVar3 < 0x400) {
          piVar18[2] = 0x400;
        }
        else {
          if (0x2000 < iVar3) {
            iVar3 = 0x2000;
          }
          piVar18[2] = iVar3;
        }
        if ((param_1[0x14] & 0x1000U) == 0) {
          iVar3 = FUN_0003b04c(0x22);
          piVar18[0x4f] = iVar3;
          local_30 = 0x400;
          FUN_0003aef4(iVar3,&local_30,4);
          FUN_0003b1cc(piVar18[0x4f],piVar18[2]);
          local_30 = 0x2000;
          FUN_0003aef4(piVar18[0x4f],&local_30,4);
        }
        else {
          iVar3 = FUN_0003b04c(0x1e);
          piVar18[0x4f] = iVar3;
          FUN_0003b1cc(iVar3,piVar18[2]);
        }
        FUN_00046280(param_1,piVar18[0x4f]);
        piVar14 = param_1;
        goto LAB_00044348;
      }
      if (*(int *)(iVar3 + 8) != 2) {
        piVar14 = param_1;
        FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5d7c,
                     *(undefined4 *)(*(int *)(iVar3 + 0xc) + 0x18));
        param_1[0x61] = 4;
        goto LAB_000451dc;
      }
      uVar22 = (*(code *)PTR_ssh_ecdhkex_curve_textname_000b29c0)();
      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5c60,uVar22,
                   *(undefined4 *)(*(int *)(param_1[0x26] + 0xc) + 0x18));
      puVar15 = PTR_ssh_ecdhkex_newkey_000b29c4;
      param_1[0x61] = 3;
      iVar3 = (*(code *)puVar15)(param_1[0x26]);
      piVar18[0x24] = iVar3;
      if (iVar3 == 0) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5c94;
      }
      else {
        iVar3 = (*(code *)PTR_ssh_ecdhkex_getpublic_000b298c)(iVar3,&local_54);
        if (iVar3 != 0) {
          puVar19 = (undefined4 *)FUN_0003b04c(0x1e);
          piVar18[0x4f] = (int)puVar19;
          local_30 = 0;
          FUN_0003aef4(puVar19,&local_30,4);
          iVar16 = piVar18[0x4f];
          puVar19[6] = *puVar19;
          FUN_0003b124(iVar16,iVar3,local_54);
          (*(code *)PTR_safefree_000b23d0)(iVar3);
          FUN_00046280(param_1,piVar18[0x4f]);
          piVar14 = param_1;
          goto LAB_00044a00;
        }
        (*(code *)PTR_ssh_ecdhkex_freekey_000b2988)(piVar18[0x24]);
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5cb4;
      }
      goto LAB_0004361c;
    }
    if (0x1aff < iVar3) {
      if (iVar3 == 0x1b31) {
        if (param_4 != (int *)0x0) goto LAB_00043614;
        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
        if (0 < param_3) goto LAB_000454a0;
        piVar18[0x50] = param_1[0x97];
LAB_00043578:
        piVar14 = (int *)param_1[4];
        if (piVar14 != (int *)0x0) {
          (**(code **)(*piVar14 + 0x18))(piVar14,0);
        }
        param_1[0x98] = 0;
        if (piVar18[0x50] != 0) goto LAB_000435a8;
      }
      else {
        if (iVar3 == 0x1b43) goto joined_r0x0004422c;
        if (iVar3 != 0x1b18) goto LAB_00042f14;
        if (param_4 != (int *)0x0) goto LAB_00043614;
        piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
        if (0 < param_3) goto LAB_0004440c;
        piVar18[0x50] = param_1[0x97];
LAB_000434e0:
        piVar14 = (int *)param_1[4];
        if (piVar14 != (int *)0x0) {
          (**(code **)(*piVar14 + 0x18))(piVar14,0);
        }
        param_1[0x98] = 0;
        if (piVar18[0x50] != 0) goto LAB_00043510;
      }
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5ad0;
      goto LAB_00045800;
    }
    if (iVar3 == 0x1a26) {
LAB_000439fc:
      puVar6 = PTR_DAT_000b2398;
      if (local_8c == (int *)0x0) {
        *piVar18 = 0x1a26;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      if (local_8c[2] == 0x14) {
        local_6c = 0xfffffffa;
        pcVar28 = (code *)(PTR_LAB_000b2760 + 0x7704);
        iVar3 = local_8c[6];
        pcVar10 = (code *)(PTR_LAB_000b2894 + -0x26e4);
        param_1[0x26] = 0;
        puVar5 = PTR_LAB_000b2894;
        param_1[0x27] = 0;
        local_74 = 0;
        piVar18[0x12] = 0;
        piVar18[0x13] = 0;
        piVar18[0x14] = 0;
        piVar18[0x15] = 0;
        piVar18[0x18] = 0;
        piVar18[0x19] = 0;
        piVar18[4] = 0;
        piVar18[3] = 0;
        piVar18[6] = 0;
        piVar18[5] = 0;
        local_8c[6] = iVar3 + 0x10;
        piVar18[0x51] = 0;
        local_68 = piVar18;
        while ((*pcVar28)(local_8c,&local_58,&local_54), uVar4 = local_54, iVar3 = local_58,
              local_58 != 0) {
          if (local_74 == 4) {
            if ((piVar18[0x12] == 0) || (iVar16 = *(int *)(piVar18[0x12] + 0x38), iVar16 == 0)) {
LAB_00043b30:
              iVar16 = 0;
              piVar14 = local_68;
LAB_00043b44:
              iVar12 = piVar14[0x53];
              if (iVar12 == 0) goto LAB_00043b7c;
              iVar7 = (*pcVar10)(iVar12,iVar3,uVar4);
              if (iVar7 == 0) goto code_r0x00043b68;
              if (local_74 < 2) {
                if ((iVar16 != 0) ||
                   (iVar3 = (*(code *)(puVar5 + -0x27a4))(iVar12,iVar3,uVar4), iVar3 == 0)) {
                  piVar18[0x51] = 0;
                }
                puVar26 = PTR_ssh_ecdsa_ed25519_000b29ac;
                if (local_74 == 0) {
                  iVar3 = piVar18[iVar16 * 3 + 0x55];
                  param_1[0x26] = piVar18[iVar16 * 3 + 0x54];
                  piVar18[3] = iVar3;
LAB_000452b4:
                  if (local_74 == 7) {
                    if (piVar18[0x4c] != 0) {
                      (*(code *)PTR_logevent_000b242c)
                                (param_1[0x44],PTR_s_acket_from_server___s_000b23a8 + 0x59f0);
                    }
                    (*pcVar28)(local_8c,&local_58,&local_54);
                    (*pcVar28)(local_8c,&local_58,&local_54);
                    iVar3 = local_8c[6];
                    if ((*local_8c - iVar3 < 1) ||
                       (cVar1 = *(char *)(local_8c[5] + iVar3), local_8c[6] = iVar3 + 1,
                       cVar1 == '\0')) {
                      uVar4 = 0;
                    }
                    else {
                      uVar4 = (uint)(piVar18[0x51] == 0);
                    }
                    iVar3 = param_1[0x26];
                    piVar18[0x52] = uVar4;
                    iVar3 = (*(code *)**(undefined4 **)(iVar3 + 0xc))();
                    iVar16 = param_1[1];
                    param_1[3] = iVar3;
                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar16);
                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,iVar3,iVar16,uVar22);
                    iVar3 = param_1[2];
                    uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);
                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],iVar3,uVar22);
                    FUN_0003a1bc(*(int *)(param_1[0x26] + 0xc) + 8,param_1[3],piVar18[0xc],
                                 piVar18[0xd]);
                    (*(code *)PTR_safefree_000b23d0)(piVar18[0xc]);
                    piVar14 = (int *)(*(int *)(param_1[0x26] + 0xc) + 8);
                    FUN_0003a1bc(piVar14,param_1[3],local_8c[5] + -1,*local_8c + 1);
                    if (piVar18[3] == 0) goto LAB_00043bfc;
                    piVar14 = (int *)param_1[4];
                    if (piVar14 != (int *)0x0) {
                      (**(code **)(*piVar14 + 0x18))(piVar14,1);
                    }
                    puVar6 = PTR_askalg_000b2974;
                    uVar22 = *(undefined4 *)param_1[0x26];
                    piVar14 = (int *)param_1[0x44];
                    puVar26 = PTR_LAB_000b28f8 + -0xf58;
                    puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x5a2c;
                    param_1[0x98] = 1;
                    iVar3 = (*(code *)puVar6)(piVar14,puVar5,uVar22,puVar26,param_1);
                    piVar18[0x50] = iVar3;
                    if (iVar3 < 0) goto LAB_00045494;
                    goto LAB_00043bcc;
                  }
                }
                else {
                  iVar12 = 0;
                  puVar19 = (undefined4 *)(puVar6 + 0x1ed8);
                  puVar11 = (undefined *)piVar18[iVar16 * 3 + 0x84];
                  iVar3 = piVar18[iVar16 * 3 + 0x85];
                  param_1[0x27] = (int)puVar11;
                  piVar18[4] = iVar3;
                  param_1[0x1b2] = 0;
                  while( true ) {
                    if (((puVar11 != puVar26) &&
                        (iVar3 = (*pcVar10)(*(undefined4 *)(puVar26 + 0x30),local_58,local_54),
                        iVar3 != 0)) &&
                       (iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)
                                          (param_1[0x3e],param_1[0x3f],
                                           *(undefined4 *)(puVar26 + 0x34)), iVar3 == 0)) {
                      iVar3 = param_1[0x1b2];
                      param_1[0x1b2] = iVar3 + 1;
                      param_1[iVar3 + 0x1ac] = iVar12;
                    }
                    iVar12 = iVar12 + 1;
                    puVar19 = puVar19 + 2;
                    if (iVar12 == 6) break;
                    puVar26 = (undefined *)*puVar19;
                    puVar11 = (undefined *)param_1[0x27];
                  }
                }
              }
              else if (local_74 == 2) {
                piVar18[0x12] = piVar18[iVar16 * 3 + 0xb4];
                piVar18[5] = piVar18[iVar16 * 3 + 0xb5];
              }
              else if (local_74 == 3) {
                piVar18[0x13] = piVar18[iVar16 * 3 + 0xe4];
                piVar18[6] = piVar18[iVar16 * 3 + 0xe5];
              }
              else if (local_74 == 4) {
                piVar18[0x14] = piVar18[iVar16 * 3 + 0x114];
                piVar18[0x16] = piVar18[iVar16 * 3 + 0x115];
              }
              else if (local_74 == 5) {
                piVar18[0x15] = piVar18[iVar16 * 3 + 0x144];
                piVar18[0x17] = piVar18[iVar16 * 3 + 0x145];
              }
              else {
                if (local_74 != 6) {
                  piVar18[0x19] = piVar18[iVar16 * 3 + 0x1a4];
                  goto LAB_000452b4;
                }
                piVar18[0x18] = piVar18[iVar16 * 3 + 0x174];
              }
            }
            else {
              iVar3 = *(int *)(iVar16 + 0x28);
              piVar18[0x14] = iVar16;
              piVar18[0x16] = (uint)(iVar3 != 0);
            }
          }
          else {
            if (((local_74 != 5) || (piVar18[0x13] == 0)) ||
               (iVar16 = *(int *)(piVar18[0x13] + 0x38), iVar16 == 0)) goto LAB_00043b30;
            iVar3 = *(int *)(iVar16 + 0x28);
            piVar18[0x15] = iVar16;
            piVar18[0x17] = (uint)(iVar3 != 0);
          }
          local_74 = local_74 + 1;
          local_68 = local_68 + 0x30;
          local_6c = local_6c + 1;
        }
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x59a8;
      }
      else {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x597c;
      }
      goto LAB_0004361c;
    }
    if (iVar3 == 0x1abc) {
      if (param_4 != (int *)0x0) goto LAB_00043614;
      piVar14 = (int *)PTR_s_acket_from_server___s_000b23a8;
      if (0 < param_3) {
LAB_00045494:
        *piVar18 = 0x1abc;
        param_1 = piVar14;
        goto LAB_00042f18;
      }
      piVar18[0x50] = param_1[0x97];
LAB_00043bcc:
      piVar14 = (int *)param_1[4];
      if (piVar14 != (int *)0x0) {
        (**(code **)(*piVar14 + 0x18))(piVar14,0);
      }
      param_1[0x98] = 0;
      if (piVar18[0x50] == 0) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5a80;
        goto LAB_00045800;
      }
LAB_00043bfc:
      if (piVar18[4] == 0) goto LAB_000443a0;
      piVar14 = (int *)param_1[4];
      if (piVar14 != (int *)0x0) {
        (**(code **)(*piVar14 + 0x18))(piVar14,1);
      }
      param_1[0x98] = 1;
      puVar6 = PTR_DAT_000b2398;
      if (param_1[0x1b2] < 1) {
        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);
        piVar23 = (int *)param_1[0x44];
LAB_00045b94:
        piVar14 = piVar23;
        iVar3 = (*(code *)PTR_askalg_000b2974)
                          (piVar14,PTR_s_acket_from_server___s_000b23a8 + 0x5a9c,uVar22,
                           PTR_LAB_000b28f8 + -0xf58,param_1);
        piVar18[0x50] = iVar3;
      }
      else {
        piVar29 = param_1 + 0x1ac;
        iVar3 = 0;
        puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x470;
        piVar23 = (int *)0x0;
        do {
          iVar16 = *piVar29;
          iVar12 = 0;
          while (iVar7 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar12),
                piVar14 = piVar23, iVar7 != 0) {
            iVar12 = iVar12 + 1;
            if (*(int *)((int)(puVar6 + iVar16 * 8 + 0x1ed8) + 4) == iVar7) {
              uVar22 = *(undefined4 *)(*(int *)(puVar6 + iVar16 * 8 + 0x1ed8) + 0x30);
              if (piVar23 == (int *)0x0) {
                piVar14 = (int *)(*(code *)PTR_dupstr_000b2410)(uVar22);
              }
              else {
                piVar14 = (int *)(*(code *)PTR_dupcat_000b2414)(piVar23,puVar5,uVar22,0);
                (*(code *)PTR_safefree_000b23d0)(piVar23);
              }
              break;
            }
            if (iVar12 == 5) break;
          }
          iVar3 = iVar3 + 1;
          piVar29 = piVar29 + 1;
          piVar23 = piVar14;
        } while (iVar3 < param_1[0x1b2]);
        uVar22 = *(undefined4 *)(param_1[0x27] + 0x30);
        piVar23 = (int *)param_1[0x44];
        if (piVar14 == (int *)0x0) goto LAB_00045b94;
        iVar3 = (*(code *)PTR_askhk_000b297c)
                          ((int *)param_1[0x44],uVar22,piVar14,PTR_LAB_000b28f8 + -0xf58,param_1);
        puVar6 = PTR_safefree_000b23d0;
        piVar18[0x50] = iVar3;
        (*(code *)puVar6)();
        iVar3 = piVar18[0x50];
      }
      if (-1 < iVar3) goto LAB_00044370;
      goto LAB_00043d00;
    }
    if (iVar3 == 0) {
      uVar4 = param_1[0x14];
      piVar18[0x13] = 0;
      piVar18[0x12] = 0;
      piVar18[0x15] = 0;
      piVar18[0x14] = 0;
      piVar18[0x19] = 0;
      piVar18[0x18] = 0;
      piVar18[0x4e] = 0;
      piVar18[0x4d] = 0;
      piVar18[0x4b] = 0;
      piVar18[0x4c] = 0;
      if ((uVar4 & 2) == 0) {
        piVar18[0x11] = 4;
        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ec8);
      }
      else {
        piVar18[0x11] = 3;
        piVar18[0x10] = (int)(PTR_DAT_000b2398 + 0x1ebc);
      }
LAB_000448a0:
      puVar6 = PTR_s_acket_from_server___s_000b23a8;
      iVar3 = 0;
      param_1[0x61] = 0;
      piVar18[0x35] = 0;
      do {
        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x18,iVar3);
        if (uVar4 < 6) {
                    /* WARNING: Could not emulate address calculation at 0x000448e4 */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c08)))();
          return;
        }
        iVar3 = iVar3 + 1;
      } while (iVar3 != 6);
      iVar3 = 0;
      piVar18[0x3c] = 0;
      do {
        iVar16 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x19,iVar3);
        if ((iVar16 == 0) && (iVar3 == 4)) break;
        iVar12 = piVar18[0x3c];
        iVar3 = iVar3 + 1;
        piVar18[0x3c] = iVar12 + 1;
        piVar18[iVar12 + 0x3d] = iVar16;
      } while (iVar3 != 5);
      puVar6 = PTR_s_acket_from_server___s_000b23a8;
      iVar3 = 0;
      piVar18[0x42] = 0;
      do {
        uVar4 = (*(code *)PTR_conf_get_int_int_000b27c4)(param_1[0x92],0x1f,iVar3);
        if (uVar4 < 7) {
                    /* WARNING: Could not emulate address calculation at 0x00044ad0 */
                    /* WARNING: Treating indirect jump as call */
          (*(code *)(&_gp_1 + *(int *)(puVar6 + uVar4 * 4 + 0x7c20)))();
          return;
        }
        iVar3 = iVar3 + 1;
      } while (iVar3 != 7);
      iVar3 = (*(code *)PTR_conf_get_int_000b2434)(param_1[0x92],0x17);
      puVar6 = PTR_ssh_zlib_000b2978;
      if (iVar3 == 0) {
        puVar6 = PTR_DAT_000b2398 + 0x1240;
      }
      piVar18[0x4a] = (int)puVar6;
      piVar23 = piVar18 + 0x83;
      param_1[0x59] = 1;
      param_1[0x1a5] = 1;
      piVar14 = piVar23;
      do {
        piVar29 = piVar14 + -0x30;
        do {
          *piVar29 = 0;
          piVar29 = piVar29 + 3;
        } while (piVar14 != piVar29);
        piVar14 = piVar14 + 0x30;
      } while (piVar18 + 0x203 != piVar14);
      iVar3 = piVar18[0x35];
      if (0 < iVar3) {
        piVar14 = piVar18 + 0x36;
        uVar22 = 0;
        iVar16 = 0;
        pcVar28 = (code *)(PTR_LAB_000b2894 + -0x5424);
        do {
          piVar29 = (int *)*piVar14;
          if (piVar29 == (int *)0x0) {
            uVar22 = 1;
          }
          else {
            iVar12 = 0;
            if (0 < *piVar29) {
              iVar3 = piVar29[1];
              do {
                iVar24 = iVar12 * 4;
                iVar12 = iVar12 + 1;
                iVar7 = (*pcVar28)(piVar18 + 0x53,**(undefined4 **)(iVar3 + iVar24));
                iVar3 = piVar29[1];
                iVar13 = *piVar29;
                uVar17 = *(undefined4 *)(iVar3 + iVar24);
                *(undefined4 *)(iVar7 + 8) = uVar22;
                *(undefined4 *)(iVar7 + 4) = uVar17;
              } while (iVar12 < iVar13);
              iVar3 = piVar18[0x35];
            }
          }
          iVar16 = iVar16 + 1;
          piVar14 = piVar14 + 1;
        } while (iVar16 < iVar3);
      }
      if (piVar18[0x4d] == 0) {
        if (0 < piVar18[0x3c]) {
          piVar30 = piVar18 + 0x3d;
          local_90 = 0;
          piVar29 = (int *)(PTR_DAT_000b2398 + 0x1ed8);
          local_74 = 0;
          piVar25 = (int *)(PTR_DAT_000b2398 + 0x1f08);
          piVar14 = piVar30;
          do {
            iVar3 = *piVar14;
            iVar16 = 4;
            piVar27 = piVar29;
            if (iVar3 == 0) {
              local_90 = 1;
            }
            while( true ) {
              if (iVar16 == iVar3) {
                iVar16 = *piVar27;
                iVar3 = (*(code *)PTR_have_ssh_host_key_000b29e8)
                                  (param_1[0x3e],param_1[0x3f],*(undefined4 *)(iVar16 + 0x34));
                if (iVar3 != 0) {
                  iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar16 + 0x30));
                  *(int *)(iVar3 + 4) = iVar16;
                  *(int *)(iVar3 + 8) = local_90;
                }
              }
              if (piVar25 == piVar27 + 2) break;
              iVar16 = piVar27[3];
              iVar3 = *piVar14;
              piVar27 = piVar27 + 2;
            }
            local_74 = local_74 + 1;
            piVar14 = piVar14 + 1;
          } while ((int)local_74 < piVar18[0x3c]);
          if (0 < piVar18[0x3c]) {
            iVar3 = 0;
            uVar22 = 0;
            do {
              iVar16 = *piVar30;
              iVar12 = 4;
              piVar14 = piVar29;
              if (iVar16 == 0) {
                uVar22 = 1;
              }
              while( true ) {
                if (iVar16 == iVar12) {
                  iVar12 = *piVar14;
                  iVar16 = FUN_0003abdc(piVar23,*(undefined4 *)(iVar12 + 0x30));
                  *(int *)(iVar16 + 4) = iVar12;
                  *(undefined4 *)(iVar16 + 8) = uVar22;
                }
                if (piVar25 == piVar14 + 2) break;
                iVar12 = piVar14[3];
                iVar16 = *piVar30;
                piVar14 = piVar14 + 2;
              }
              iVar3 = iVar3 + 1;
              piVar30 = piVar30 + 1;
            } while (iVar3 < piVar18[0x3c]);
          }
        }
      }
      else {
        if (param_1[0x26] == 0) {
          (*(code *)PTR___assert_fail_000b2d2c)
                    (PTR_s_acket_from_server___s_000b23a8 + 0x5970,
                     PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x19bf,
                     PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
          return;
        }
        iVar3 = FUN_0003abdc(piVar23,*(undefined4 *)(param_1[0x27] + 0x30));
        iVar16 = param_1[0x27];
        *(undefined4 *)(iVar3 + 8) = 0;
        *(int *)(iVar3 + 4) = iVar16;
      }
      piVar14 = piVar18 + 0x113;
      iVar3 = piVar18[0x42];
      piVar23 = piVar18 + 0xb3;
      do {
        piVar29 = piVar18 + 0x43;
        if (0 < iVar3) {
          local_90 = 0;
          uVar22 = 0;
          do {
            piVar30 = (int *)*piVar29;
            if (piVar30 == (int *)0x0) {
              uVar22 = 1;
            }
            else {
              iVar16 = 0;
              if (0 < *piVar30) {
                iVar3 = piVar30[1];
                do {
                  iVar13 = iVar16 * 4;
                  iVar16 = iVar16 + 1;
                  iVar12 = FUN_0003abdc(piVar23,*(undefined4 *)(*(int *)(iVar3 + iVar13) + 0x20));
                  iVar3 = piVar30[1];
                  iVar7 = *piVar30;
                  uVar17 = *(undefined4 *)(iVar3 + iVar13);
                  *(undefined4 *)(iVar12 + 8) = uVar22;
                  *(undefined4 *)(iVar12 + 4) = uVar17;
                } while (iVar16 < iVar7);
                iVar3 = piVar18[0x42];
              }
            }
            local_90 = local_90 + 1;
            piVar29 = piVar29 + 1;
          } while (local_90 < iVar3);
        }
        piVar23 = piVar23 + 0x30;
      } while (piVar14 != piVar23);
      iVar3 = piVar18[0x11];
      do {
        iVar16 = 0;
        if (0 < iVar3) {
          iVar12 = piVar18[0x10];
          do {
            iVar13 = iVar16 * 4;
            iVar16 = iVar16 + 1;
            iVar7 = FUN_0003abdc(piVar14,*(undefined4 *)(*(int *)(iVar12 + iVar13) + 0x24));
            iVar12 = piVar18[0x10];
            iVar3 = piVar18[0x11];
            uVar22 = *(undefined4 *)(iVar12 + iVar13);
            *(undefined4 *)(iVar7 + 8) = 0;
            *(undefined4 *)(iVar7 + 4) = uVar22;
          } while (iVar16 < iVar3);
          if (0 < iVar3) {
            iVar7 = 0;
            iVar16 = 0;
            do {
              if (*(int *)(*(int *)(iVar12 + iVar16) + 0x28) != 0) {
                iVar13 = FUN_0003abdc(piVar14);
                iVar12 = piVar18[0x10];
                iVar3 = piVar18[0x11];
                uVar22 = *(undefined4 *)(iVar12 + iVar16);
                *(undefined4 *)(iVar13 + 8) = 1;
                *(undefined4 *)(iVar13 + 4) = uVar22;
              }
              iVar7 = iVar7 + 1;
              iVar16 = iVar7 * 4;
            } while (iVar7 < iVar3);
          }
        }
        puVar6 = PTR_ssh_zlib_000b2978;
        piVar14 = piVar14 + 0x30;
      } while (piVar18 + 0x173 != piVar14);
      puVar26 = PTR_DAT_000b2398 + 0x1240;
      uVar22 = *(undefined4 *)PTR_ssh_zlib_000b2978;
      puVar5 = PTR_s_acket_from_server___s_000b23a8 + 0x4ea4;
      piVar14 = piVar18 + 0x173;
      do {
        iVar3 = FUN_0003abdc(piVar14,*(undefined4 *)piVar18[0x4a]);
        iVar16 = piVar18[0x4a];
        iVar12 = piVar18[0x4b];
        *(int *)(iVar3 + 4) = iVar16;
        if ((iVar12 != 0) && (*(int *)(iVar16 + 4) != 0)) {
          iVar3 = FUN_0003abdc(piVar14);
          *(int *)(iVar3 + 4) = piVar18[0x4a];
        }
        iVar3 = FUN_0003abdc(piVar14,uVar22);
        iVar16 = piVar18[0x4b];
        *(undefined **)(iVar3 + 4) = puVar6;
        if ((iVar16 != 0) && (*(int *)(puVar6 + 4) != 0)) {
          iVar3 = FUN_0003abdc(piVar14);
          *(undefined **)(iVar3 + 4) = puVar6;
        }
        piVar23 = piVar14 + 0x30;
        iVar3 = FUN_0003abdc(piVar14,puVar5);
        *(undefined **)(iVar3 + 4) = puVar26;
        piVar14 = piVar23;
      } while (piVar18 + 0x1d3 != piVar23);
      iVar16 = 0x10;
      iVar3 = FUN_0003b04c(0x14);
      piVar18[0x4f] = iVar3;
      while( true ) {
        iVar16 = iVar16 + -1;
        uVar9 = (*(code *)PTR_random_byte_000b28d4)();
        local_54 = CONCAT13(uVar9,local_54._1_3_);
        FUN_0003aef4(iVar3,&local_54,1);
        if (iVar16 == 0) break;
        iVar3 = piVar18[0x4f];
      }
      piVar14 = piVar18 + 0x30;
      piVar23 = (int *)piVar18[0x4f];
      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x470;
      do {
        local_30 = 0;
        FUN_0003aef4(piVar23,&local_30,4);
        piVar29 = piVar14 + -0x30;
        piVar23[6] = *piVar23;
        do {
          iVar3 = piVar29[0x53];
          piVar23 = (int *)piVar18[0x4f];
          if (iVar3 == 0) goto LAB_00043918;
          if (0 < *piVar23 - piVar23[6]) {
            FUN_0003b124(piVar23,puVar6,1);
          }
          piVar29 = piVar29 + 3;
          uVar22 = (*(code *)PTR_strlen_000b2e48)(iVar3);
          FUN_0003b124(piVar23,iVar3,uVar22);
        } while (piVar14 != piVar29);
        piVar23 = (int *)piVar18[0x4f];
LAB_00043918:
        piVar14 = piVar14 + 0x30;
      } while (piVar18 + 0x1b0 != piVar14);
      local_30 = 0;
      FUN_0003aef4(piVar23,&local_30,4);
      puVar19 = (undefined4 *)piVar18[0x4f];
      piVar23[6] = *piVar23;
      local_30 = 0;
      FUN_0003aef4(puVar19,&local_30,4);
      iVar3 = piVar18[0x4f];
      puVar19[6] = *puVar19;
      local_54 = local_54 & 0xffffff;
      FUN_0003aef4(iVar3,&local_54,1);
      local_30 = 0;
      FUN_0003aef4(piVar18[0x4f],&local_30,4);
      puVar6 = PTR_safemalloc_000b2408;
      iVar3 = *(int *)piVar18[0x4f];
      piVar18[0xd] = iVar3 + -5;
      iVar3 = (*(code *)puVar6)(iVar3 + -5,1);
      piVar18[0xc] = iVar3;
      (*(code *)PTR_memcpy_000b2f08)(iVar3,*(int *)(piVar18[0x4f] + 0x10) + 5,piVar18[0xd]);
      piVar14 = param_1;
      FUN_00046280(param_1,piVar18[0x4f]);
      goto LAB_000439fc;
    }
  }
LAB_00042f14:
  *piVar18 = 0;
  param_1 = piVar14;
LAB_00042f18:
  if (local_2c == *(int *)puVar2) {
    return;
  }
  puVar15 = PTR___stack_chk_fail_000b2ed8;
  (*(code *)PTR___stack_chk_fail_000b2ed8)();
  iVar3 = FUN_0003c960(param_1 + 4,param_1[6],param_1[0x5a],param_1[0x5b]);
  param_1[0x5c] = 0;
  pcVar28 = *(code **)(puVar15 + 0x6c288);
  param_1[0x5b] = 0;
  (*pcVar28)(param_1[0x5a]);
  param_1[0x5a] = 0;
  if ((0x8000 < iVar3) && (param_1[0x69] != 1)) {
    param_1[0x69] = 1;
    param_1[0x68] = iVar3;
    if (param_1[0x49] != 0) {
      FUN_000492b0(param_1,1);
    }
  }
  if (param_1[0x66] == 2) {
    iVar3 = param_1[0x1a2];
    iVar16 = param_1[0x1a3];
    param_1[0x1a3] = 0;
    param_1[0x1a2] = iVar3 + iVar16;
    if ((((param_1[0x1a5] == 0) && (param_1[0x3b] == 0)) && (param_1[0x1a4] != 0)) &&
       ((uint)param_1[0x1a4] < (uint)(iVar3 + iVar16))) {
      MASKED(param_1,*(int *)(puVar15 + 0x6c260) + 0x6294,0xffffffff,0);
      return;
    }
  }
  return;
LAB_000456a8:
  if (iVar3 != 0) {
    if (iVar16 < 2) {
      puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + -0x608;
    }
    else {
      puVar6 = PTR_s_entropy_source_000b23f0 + 0x330;
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5850;
    }
    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x5f5c,iVar3,puVar6,puVar15);
    (*(code *)PTR_safefree_000b23d0)(iVar3);
  }
  iVar3 = (*(code *)PTR_ssh2_fingerprint_000b29f8)(param_1[0x27],piVar18[0x22]);
  iVar16 = param_1[0x44];
  piVar18[0x1e] = iVar3;
  (*(code *)PTR_logevent_000b242c)(iVar16,PTR_s_acket_from_server___s_000b23a8 + 0x5f90);
  (*(code *)PTR_logevent_000b242c)(param_1[0x44],piVar18[0x1e]);
  iVar3 = verify_ssh_manual_host_key(param_1,piVar18[0x1e],param_1[0x27],piVar18[0x22]);
  piVar18[0x50] = iVar3;
  if (iVar3 == 0) {
    puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x5fac;
    goto LAB_0004361c;
  }
  if (iVar3 < 0) {
    piVar14 = (int *)param_1[4];
    if (piVar14 != (int *)0x0) {
      (**(code **)(*piVar14 + 0x18))(piVar14,1);
    }
    puVar15 = PTR_verify_ssh_host_key_000b2a00;
    uVar22 = *(undefined4 *)(param_1[0x27] + 0x34);
    puVar6 = PTR_LAB_000b28f8 + -0xf58;
    iVar3 = piVar18[0x1e];
    piVar14 = (int *)param_1[0x44];
    param_1[0x98] = 1;
    iVar3 = (*(code *)puVar15)(piVar14,param_1[0x3e],param_1[0x3f],uVar22,piVar18[0x1d],iVar3,puVar6
                               ,param_1);
    piVar18[0x50] = iVar3;
    if (iVar3 < 0) {
LAB_000457e0:
      *piVar18 = 0x1cf9;
      param_1 = piVar14;
      goto LAB_00042f18;
    }
LAB_00043094:
    piVar14 = (int *)param_1[4];
    if (piVar14 != (int *)0x0) {
      (**(code **)(*piVar14 + 0x18))(piVar14,0);
    }
    param_1[0x98] = 0;
    if (piVar18[0x50] == 0) {
      puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x6028;
LAB_00045800:
      FUN_00047994(param_1,puVar15,0,0,1);
      *piVar18 = 0;
      goto LAB_00042f18;
    }
  }
  (*(code *)PTR_safefree_000b23d0)(piVar18[0x1e]);
  param_1[0x28] = piVar18[0x1d];
LAB_000430d8:
  iVar3 = param_1[0x27];
LAB_000430dc:
  (**(code **)(iVar3 + 4))(piVar18[0x22]);
  if (piVar18[0x4d] == 0) {
    piVar23 = piVar18 + 0x25;
    piVar14 = param_1 + 0x29;
    do {
      iVar7 = *piVar23;
      iVar12 = piVar23[1];
      iVar16 = piVar23[2];
      iVar3 = piVar23[3];
      piVar23 = piVar23 + 4;
      *piVar14 = iVar7;
      piVar14[1] = iVar12;
      piVar14[2] = iVar16;
      piVar14[3] = iVar3;
      piVar14 = piVar14 + 4;
    } while (piVar23 != piVar18 + 0x35);
    uVar4 = *(uint *)(*(int *)(param_1[0x26] + 0xc) + 0x14);
    param_1[0x39] = uVar4;
    if (0x40 < uVar4) {
      (*(code *)PTR___assert_fail_000b2d2c)
                (PTR_s_acket_from_server___s_000b23a8 + 0x60a8,
                 PTR_s_acket_from_server___s_000b23a8 + 0x35c0,0x1d37,
                 PTR_s_acket_from_server___s_000b23a8 + 0x7e6c);
      return;
    }
    piVar18[0x4d] = 1;
  }
  iVar3 = FUN_0003b04c(0x15);
  piVar18[0x4f] = iVar3;
  FUN_00046280(param_1,iVar3);
  param_1[0x1a2] = 0;
  if (param_1[0x1a] != 0) {
    (**(code **)(param_1[0x18] + 4))();
  }
  puVar19 = (undefined4 *)piVar18[0x12];
  param_1[0x18] = (int)puVar19;
  if (puVar19 != (undefined4 *)0x0) {
    iVar3 = (*(code *)*puVar19)();
    param_1[0x1a] = iVar3;
  }
  if (param_1[0x20] != 0) {
    (**(code **)(param_1[0x1c] + 4))();
  }
  puVar19 = (undefined4 *)piVar18[0x14];
  iVar3 = piVar18[0x16];
  param_1[0x1c] = (int)puVar19;
  param_1[0x1e] = iVar3;
  if (puVar19 != (undefined4 *)0x0) {
    iVar3 = (*(code *)*puVar19)(param_1[0x1a]);
    param_1[0x20] = iVar3;
  }
  if (param_1[0x24] != 0) {
    (**(code **)(param_1[0x22] + 0xc))();
  }
  iVar3 = piVar18[0x18];
  param_1[0x22] = iVar3;
  iVar3 = (**(code **)(iVar3 + 8))();
  param_1[0x24] = iVar3;
  if (param_1[0x18] != 0) {
    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x43,
                          *(undefined4 *)(param_1[0x18] + 0x2c));
    (**(code **)(param_1[0x18] + 0xc))(param_1[0x1a],uVar22);
    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x2c));
    (*(code *)PTR_safefree_000b23d0)(uVar22);
    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x41,
                          *(undefined4 *)(param_1[0x18] + 0x24));
    (**(code **)(param_1[0x18] + 8))(param_1[0x1a],uVar22);
    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x18] + 0x24));
    (*(code *)PTR_safefree_000b23d0)(uVar22);
  }
  if (param_1[0x1c] == 0) {
    iVar3 = param_1[0x18];
    if (iVar3 != 0) goto LAB_0004339c;
    iVar3 = param_1[0x22];
  }
  else {
    uVar22 = FUN_0003a328(param_1,piVar18[0xb],piVar18 + 0x25,0x45,
                          *(undefined4 *)(param_1[0x1c] + 0x30));
    (**(code **)(param_1[0x1c] + 8))(param_1[0x20],uVar22);
    (*(code *)PTR_smemclr_000b2460)(uVar22,*(undefined4 *)(param_1[0x1c] + 0x30));
    (*(code *)PTR_safefree_000b23d0)(uVar22);
    iVar3 = param_1[0x18];
    if (iVar3 != 0) {
LAB_0004339c:
      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x60e0,
                   *(undefined4 *)(iVar3 + 0x34));
    }
    if (param_1[0x1c] != 0) {
      if (param_1[0x1e] == 0) {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
      }
      else {
        puVar15 = PTR_s_acket_from_server___s_000b23a8 + 0x585c;
      }
      if (*(int *)(param_1[0x18] + 0x38) == 0) {
        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x4f64;
      }
      else {
        puVar6 = PTR_s_acket_from_server___s_000b23a8 + 0x586c;
      }
      FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6110,
                   *(undefined4 *)(param_1[0x1c] + 0x34),puVar15,puVar6);
    }
    iVar3 = param_1[0x22];
  }
  if (*(int *)(iVar3 + 0x24) != 0) {
    FUN_00036ce8(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x6144);
  }
  param_1[0x59] = 0;
  if (0 < param_1[0x57]) {
    local_80 = 0;
    do {
      iVar3 = local_80 * 4;
      local_80 = local_80 + 1;
      FUN_0003c0c8(param_1,*(undefined4 *)(param_1[0x56] + iVar3),0);
    } while (local_80 < param_1[0x57]);
  }
  param_1[0x57] = 0;
  FUN_00046148();
  piVar14 = param_1;
LAB_000434a4:
  *piVar18 = 0x1d8a;
  param_1 = piVar14;
  goto LAB_00042f18;
code_r0x00043b68:
  if ((local_6c < 2) &&
     (iVar12 = (*pcVar10)(*(undefined4 *)(piVar14[0x54] + 4),iVar3,uVar4), iVar12 != 0)) {
    piVar18[0x4c] = 1;
  }
  iVar16 = iVar16 + 1;
  piVar14 = piVar14 + 3;
  if (iVar16 == 0x10) {
LAB_00043b7c:
    uVar22 = (*(code *)PTR_dupprintf_000b2404)
                       (PTR_s_acket_from_server___s_000b23a8 + 0x59c8,local_50[local_74],uVar4,iVar3
                       );
    goto LAB_00043628;
  }
  goto LAB_00043b44;
}

